思考と現場の間で

「いいサービスづくり」のために、組織づくりやソフトウェア設計など、考えていることを書きます

【DDDメモ】モデルの整合性を維持する:順応者

順応者 エリック・エヴァンスのドメイン駆動設計 P.371 上流チームのモデルに隷従することで生じる、境界づけられたコンテキスト間での複雑な変換を取り除くこと。確かに下流の設計者がとれるスタイルは制限され、そのアプリケーションにとって理想的なモデ…

【DDDメモ】モデルの整合性を維持する:顧客/供給者の開発チーム

エリック・エヴァンスのドメイン駆動設計 P.365 蒸溜チームが自由に開発の舵をとれなくなるのは、下流のチームが変更に対する拒否権を持っている場合や、変更を要求されるための手続きがあまりに面倒な場合である。下流のシステムを壊してしまうのではないか…

【DDDメモ】モデルの整合性を維持する:共有カーネル

共有カーネル エリック・エヴァンスのドメイン駆動設計 P.363 まとまりのない複数のチームが、密接に関連したアプリケーションに取り組んでいると、暫くの間は作業を急いで進めることができても、それぞれが作り出すものはうまく適合しないだろう。結果的に…

【DDDメモ】モデルの整合性を維持する:コンテキストマップ

コンテキストマップ エリック・エヴァンスのドメイン駆動設計 P.352 他のチームに所属する人々は、コンテキストの境界をあまり意識せず、境目をぼかしたり相互の接続を複雑にしたいする変更を、そうとは知らずに加えるかもしれない。別々のコンテキスト同士…

【DDDメモ】モデルの整合性を維持する:継続的な統合

継続的な統合 エリック・エヴァンスのドメイン駆動設計 P.349 多くの人々が同一の境界づけられたコンテキストで作業していると、モデルが分裂する傾向は強くなる。チームが大きければ大きいほど、問題も大きくなるが、3、4人ほどの少人数でも深刻な問題に直…

【DDDメモ】モデルの整合を維持する

境界づけられたコンテキスト エリック・エヴァンスのドメイン駆動設計 P.344 複数のモデルはどんな巨大なプロジェクトにも存在する。だが、別々のモデルに基づくコードが組み合わされると、ソフトウェアは、バグの温床となり、信頼できなくなり、理解しにく…

【DDDメモ】抽象化されたコア

抽象化されたコア エリック・エヴァンスのドメイン駆動設計 P.441 別々のモジュールに置かれたサブドメインの間で大量の相互作用があると、モジュール間で多数の参照を生成する必要が生じて、分割したことの価値をほとんどなくしてしまうか、相互作用を間接…