LoginSignup
1
0

More than 5 years have passed since last update.

ちょっとずつ読むドメイン駆動設計 第三部 より深い洞察へ向かうリファクタリング 第九章 暗黙的な概念を明示的にする3 ぎこちない点・矛盾する点を調べる

Last updated at Posted at 2017-11-01

前々回より

暗黙的な概念を導き出すためのヒントはどこにあるか。

  1. チームの言語に耳を傾ける
  2. 設計のぎこちない点・エキスパートの発言で矛盾すると思われる点を詳細に調べる
  3. ドメインに関する文献を読む
  4. 大量の実験をする

続きです

設計のぎこちない点を精査する

設計のなかで最もぎこちない部分。
たとえば、

  • 手続き型に書いてしまって説明しにくい複雑な処理が行われているところ
  • 新しい要求が出てくるたびに複雑さが増しているところ
  • 処理はオブジェクトで行われてるが、ぎこちないものがある
  • 何か足りないとわかっていても、モデルの解決策が浮かばない

こういうところを、掘り下げて考えなければならない。
会話やドキュメントに現れないところです。

積極的にドメインエキスパートをその調査に参加させて、会話を開始していきます。

矛盾について熟考する

同一人物からもたらされた情報であっても、注意して分析すれば論理的に整合しないこともある。これは、深いモデルへの大きな手がかりになり得ます。

用語のバリエーションにすぎないものや、誤解である場合もありますが、矛盾していると思われるのであれば、見落としがあるかもしれません。

また、新しい要件を実現するときに矛盾が起こることもありますよね。
この要件を満たそうとすると、既存のあのサービスはどうするか・・・とか。
例えば、新しい割引サービスを実施しようとしますが、既存の他の割引はどうするか・・・などなど。。。

このような矛盾は、熟考することで、現実に適用できるかもしれません。

また、すべての矛盾に折り合いをつけることが現実的でなく、望ましくないこともあるかもしれません。このテーマについては、14章で改めてとのことです。

明日に続きます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0