Enviar pesquisa
Carregar
ドメイン駆動設計に15年取り組んでわかったこと
•
17 gostaram
•
10,497 visualizações
増田 亨
Seguir
ドメイン駆動設計の要点は3つ。ビジネスルール・値オブジェクト・型
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
Recomendados
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
増田 亨
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Koichiro Matsuoka
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
Mais conteúdo relacionado
Mais procurados
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
増田 亨
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
Mais procurados
(20)
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
ドメインモデルの育て方
ドメインモデルの育て方
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
Semelhante a ドメイン駆動設計に15年取り組んでわかったこと
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Koichiro Matsuoka
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
増田 亨
ウェブサイト運用プロデューサーによる提案型クリエイティブパートナーシップ構築
ウェブサイト運用プロデューサーによる提案型クリエイティブパートナーシップ構築
COPILOT Inc.
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
Fixel Inc.
melonDesignerの説明
melonDesignerの説明
Hisashi Sakai
Mautic最新情報と始め方 - IDCFクラウド&Bluemix 合同Meetup!in つくば vol.3
Mautic最新情報と始め方 - IDCFクラウド&Bluemix 合同Meetup!in つくば vol.3
Kohei Nishikawa
JAWS-UG東京 - 2019-09-26 - Gateway祭
JAWS-UG東京 - 2019-09-26 - Gateway祭
Yutaro Ono
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
Michitaka Yumoto
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
cloudconductor
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
日本マイクロソフト株式会社
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
Shinji Tamura
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
日本マイクロソフト株式会社
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
ITDORAKU
Layout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesign
Takao Tetsuro
CloudConductorのアーキテクチャ
CloudConductorのアーキテクチャ
cloudconductor
クラウド座談会資料
クラウド座談会資料
知礼 八子
グロース施策でもUX活動を絶やさないために。UXとアジャイルの交差点と、他職種混合チームの今後
グロース施策でもUX活動を絶やさないために。UXとアジャイルの交差点と、他職種混合チームの今後
Tomoko Nishina
Webデザイナーのためのエディタ入門
Webデザイナーのためのエディタ入門
Naoki Kanazawa
Semelhante a ドメイン駆動設計に15年取り組んでわかったこと
(20)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
M12_数百台の開発サーバをリフトアンドシフト! Azure Migrate 活用ポイント [Microsoft Japan Digital Days]
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
ウェブサイト運用プロデューサーによる提案型クリエイティブパートナーシップ構築
ウェブサイト運用プロデューサーによる提案型クリエイティブパートナーシップ構築
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
元ITコンサルタントの目から見た「ITにおける今までのデザインとこれからのデザイン」
melonDesignerの説明
melonDesignerの説明
Mautic最新情報と始め方 - IDCFクラウド&Bluemix 合同Meetup!in つくば vol.3
Mautic最新情報と始め方 - IDCFクラウド&Bluemix 合同Meetup!in つくば vol.3
JAWS-UG東京 - 2019-09-26 - Gateway祭
JAWS-UG東京 - 2019-09-26 - Gateway祭
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
【de:code 2020】 開発者が語る! Microsoft Teams アプリケーション開発の実例とコツ
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
【de:code 2020】 IT インフラをモダナイズ?今、検討すべきクラウドの活用方法
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
Layout isfirstprocessofatomicdesign
Layout isfirstprocessofatomicdesign
CloudConductorのアーキテクチャ
CloudConductorのアーキテクチャ
クラウド座談会資料
クラウド座談会資料
グロース施策でもUX活動を絶やさないために。UXとアジャイルの交差点と、他職種混合チームの今後
グロース施策でもUX活動を絶やさないために。UXとアジャイルの交差点と、他職種混合チームの今後
Webデザイナーのためのエディタ入門
Webデザイナーのためのエディタ入門
Mais de 増田 亨
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
増田 亨
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
増田 亨
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
増田 亨
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
SoR 2.0 summary
SoR 2.0 summary
増田 亨
毎日が越境だ!
毎日が越境だ!
増田 亨
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
増田 亨
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
増田 亨
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
増田 亨
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
Mais de 増田 亨
(20)
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
DDD sample code explained in Java
DDD sample code explained in Java
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
SoR 2.0 summary
SoR 2.0 summary
毎日が越境だ!
毎日が越境だ!
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
ドメイン駆動設計に15年取り組んでわかったこと
1.
ドメイン駆動設計 15年の取り組みでわかったこと 2020年3月30日(月) (有)システム設計 増田 亨 2020/3/30
1 BPStudy #151
2.
ドメイン駆動設計とは? ✓ソフトウェアのさまざまな設計スタイルの一つ ✓ソフトウェアの複雑さをどう扱うかの考え方とやり方 ✓重要な複雑さは「ユーザのビジネス活動」に起因する このビジネス活動に起因する複雑さに立ち向かうために ✓ドメインモデルを使って設計する ✓ドメインモデルを使ってコミュニケーションを促進する 2020/3/30 2
3.
ドメインモデル 意思疎通 意図の伝達 設計・実装 促進する 駆動する 2020/3/30 3
4.
ドメインモデル 意思疎通 意図の伝達 設計・実装 促進する 駆動する ユビキタス言語 ドメイン エキスパート 境界づけられた コンテキスト コアドメイン コンテキストマップ 値オブジェクト
集約 エンティティ リポジトリ 2020/3/30 4
5.
2020/3/30 5 15年前の自分 わけがわからん…
6.
① ビジネスルール ② 値オブジェクト ③
型 15年の取り組みでわかったこと 2020/3/30 6
7.
ドメインの最も複雑な側面はビジネスルール ドメイン ビジネスの決め事 (ビジネスルール) 焦点を合わせる ユーザのビジネス活動の領域 アプリケーションが関係する領域 アプリケーション開発に必要な知識の領域 ビジネス活動を刺激し制約する決め事 起きている事実の表現・記録・通知の約束事 事実を使った計算・判断のロジック 2020/3/30 7
8.
ドメインモデル 意思疎通 意図の伝達 設計・実装 促進する 駆動する ユビキタス言語 ドメイン エキスパート 境界づけられた コンテキスト コアドメイン コンテキストマップ 値オブジェクト
集約 エンティティ リポジトリ 2020/3/30 8
9.
ドメインモデル ビジネスの決め事 の整理 意思疎通 ビジネスの決め事 の共通理解 設計・実装 ビジネスの決め事 の表現 促進する 駆動する ユビキタス言語 ビジネスの 決め事の表現 ドメイン エキスパート 境界づけられた コンテキスト コアドメイン コンテキストマップ 値オブジェクト
集約 エンティティ リポジトリ ビジネスの決め事に 詳しい人 ビジネスの決め事の 通用する範囲 ビジネスの決め事の体系重要なビジネスの決め事 単純な事実の表現と 計算・判断ロジック 複合的な事実の表現と 計算・判断ロジック2020/3/30 9
10.
2020/3/30 10 ソフトウェア開発のやり方を変える
11.
ソフトウェア開発 2020/3/23 ©有限会社システム設計 11 開発範囲 品質 開発期間 総工数(=費用) 要件定義 仕様化 実装 ドキュメント ソースコード 開発手順 開発体制 モジュール構造 要素技術 目標・制約
活動 成果物 プロセス 技術方式
12.
ドメイン駆動設計 2020/3/23 ©有限会社システム設計 12 開発範囲 品質 開発期間 総工数(=費用) 要件定義 仕様化 実装 ドキュメント ソースコード 開発手順 開発体制 モジュール構造 要素技術 目標・制約
活動 成果物 プロセス 技術方式 継ぎ目をなくす ソースコード中心 手続き的 アプリ固有の型を定義
13.
アーキテクチャ:三層+ドメインロジック層 アプリケーション層 データソース層 プレゼンテーション層 ビジネスルールを 表現するモジュール群 画面 API データベース操作 外部連携 機能の実行 計算・判断 記録・参照・通知 2020/2/28 13 ドメインロジック層
14.
2020/3/30 14 ビジネスルール駆動のソフトウェア開発
15.
2020/3/30 15 ビジネスルールの発見と整理
16.
モデルベース要件定義 RDRA 2.0 神崎さんの要件定義手法 kindle版
無償 2020/3/30 16
17.
RDRA 2.0 ビジネスルールの可視化 バリエーション (区分、種類、…) 計算ロジック
判定表 (バリエーションの 組み合わせ) 業務のバリエーション 商品、顧客などのバリエーション 状態遷移 2020/3/30 17
18.
2020/3/30 18 ビジネスルールを表現するオブジェクトの設計
19.
集約 ビジネスルールをソフトウェアで表現する バリエーション (区分、種類、…) 計算ロジック 判定表 (バリエーションの 組み合わせ) 区分オブジェクト 値オブジェクト コレクション オブジェクト 単純な事実を使った計算・判断 複合した事実を 組み合わせた計算・判断 バリエーションごとの計算・判断 Map, Set, Listを使った 計算や判定 2020/3/30
19
20.
ビジネスルールを表現する独自の型 値の種類 独自の型の候補 数値系 ○○額、○○率、○○数、○○量、… 日付や時間
○○日、○○時刻、○○期間、○○日数、… 区分 ○○区分、○○種類、○○グループ、○○カテゴリ、… 状態 ○○済、○○中、○○待、… 文脈 〇〇規定、○○ポリシー、○○プラン、… 集約 区分オブジェクト 値オブジェクト コレクション オブジェクト 手続き的なモジュール構造(トランザクションスクリプト)だと、 これらを使った計算や判断のロジックが断片化し重複する 独自の型(クラス)に計算・判断ロジックを 閉じ込めると、ビジネスルールを 単一定義できる(断片化や重複を防止) 2020/3/30 20
21.
ビジネスルールを型で表現する効果 ✓ソースコード上にビジネスルールを明確に表現できる ✓計算判断ロジックを一か所にカプセル化できる ✓型の参照関係から変更の影響範囲を正確に把握できる ✓よりよいモデルと設計に向かうリファクタリングがやりやすい https://github.com/system-sekkei/library RDRA 2.0 ハンドブック 図書館サンプルの実装例 2020/3/30
21
Baixar agora