A Final Look (P186) †
要約 †
- 186-2 (This integration could have 〜)
- この統合は,シンプルで概念的に一貫した設計を混乱したものに変えましたが,ANTICORRUPTION LAYER,SERVICE,そして ENTERPRISE SEGMENTS を使ったことで,販売管理システムの機能を予約システムにきれいに融合し,ドメインを豊かにしました.
- 186-3 (A final design question: 〜)
- 最後の質問:なぜ Cargo に Enterprise Segment を取得する責務を与えなかったのでしょうか? 一見するとそれはエレガントに見えますが,それはそんなに単純なことではありません.
- Enterprise Segments はビジネス戦略に沿って定められます.予約割り当てのためには特定の Cargo から取得しますが,それとは完全に異なる Enterprise Segment を税・会計のために取得することもできます.新しい販売戦略のために販売管理システムが変更されれば,割り当ての Enterprise Segment も変更されます.そのため,Cargo は 'Allocation Checker について知っていなければならず,特定の Enterprise Segment'' を取得する方法を背負わされることになります.
- Enterprise Segment を取得するためのルールを Strategy オブジェクトとして切り出し,Cargo に渡すこともできますが,そのソリューションはここまでの要求に対しては過剰に見えます.しかし,それは後のデザインのためのオプションであり,破壊的な変化をもたらすものではありません.
担当者のつぶやき †
みんなの突っ込み †
- 最初の一文、仮定法です。「この統合(販売管理システムと予約システムの統合)は、シンプルで概念的に一貫した設計を混乱したものに変えた可能性もあったのだけれど、〜を使ったことで・・・」ということだと思います。 -- 和智?