- 作者: ヴァーン・ヴァーノン
- 出版社/メーカー: 翔泳社
- 発売日: 2015/03/19
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
実践ドメイン駆動設計 (Object Oriented Selection)
- 作者: ヴァーン・ヴァーノン,高木正弘
- 出版社/メーカー: 翔泳社
- 発売日: 2015/03/17
- メディア: 大型本
- この商品を含むブログ (2件) を見る
エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
- 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子
- 出版社/メーカー: 翔泳社
- 発売日: 2011/04/09
- メディア: 大型本
- 購入: 19人 クリック: 1,360回
- この商品を含むブログ (130件) を見る
- 作者: Eric Evans
- 出版社/メーカー: 翔泳社
- 発売日: 2013/11/20
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
9.1モジュールを使った設計
- DDDの文脈ではドメインオブジェクト内のクラスをまとめるコンテナ
- 別のモジュールのクラス郡との結びつきを少なくする
- 適切な名前が必要
- モデルと同じように意味や名前をきちんと検討したうえで作っていくようにする
- モジュールのべし・べからず集 => 本で確認
9.2 モジュールの基本的な命名規約
9.3 モデルに対応するモジュール名の命名規約
- トップレベルのあとが、境界づけられたコンテキスを表す
com.sassovation.collaboration
とか- ユビキタス言語が反映されたものであるように!
- ブランド名なんかはよく変わることがあるので、あまり良しとしないし今回の例でも使っていない
com.sassovation.collaboration.domain
でモジュールがドメインに属することを示す- この部分ではインターフェイスやクラスの情報は持たせない
- domain以外だと、applicationとかinfraとかでもいい?
- domainの下にmodelだったりserviceのパッケージを作る
9.4 アジャイルプロジェクト管理コンテキストのモジュール
- 今回の例はモジュール間の結合より、整理されていることを優先
- 組織的な強度をとるか疎結合か
- 例だとproductとbacklogitemの親子関係
- 疎結合性を取るために、汎用型で識別子を保持すると個々の識別子が区別できなくなる => バグの可能性!
9.5 他のレイヤにおけるモジュール
- レイヤ化アーキテクチャで、何かのドメインモデルを扱うアプリケーションの場合
- UI、アプリケーション、ドメイン、インフラストラクチャの層に分かれる
- UIレイヤの例
- RESTfulリソースでサポート
- RESTfulなリソースが画面のレイアウトを決める事があってはいけない
- com.saasovation.agilepm.resources
- com.saasovation.agilepm.resources.view
- アプリケーションレイヤ
- サービスごとに作られるだろう
- UIでもアプリケーションでもサブパッケージに分けるのは役立つ場合だけにしたほうがいい
境界づけられたコンテキストの前にモジュールを検討する
- 言葉があいまいで概念的な強化を作るべきかはっきりしない場合は、(境界づけられたコンテキストを?)ひとまとめにしておくことを考える
- 境界づけられたコンテキストとモジュールは別物