DDD本(古い方)半分くらい読んだ

ここ1週間ほどDDD本(古い方)読んでて、Kindleで見たら今61%のところまできました。

正直具体例がわかりづらすぎて結構読み飛ばしながら進めてますが、 Design pattern vs Domain pattern 的な話でふと気づいたことがあったのでまとめ。

あくまで個人の勝手な解釈なので正解かどうか, DDD本が言おうとしていることと一致しているかどうかは論点としてません。

視点のコントロール

コードを書く際にいろんな考え方や見方があると思いますが、以下のような視点によって書き方や命名方法とかが変わってくるかなーと

  • 技術的な視点
  • ドメインに着目
  • design pattern に当てはめようとする

(他にも色々あると思いますが)

1. 理解のしやすさ

  • 抽象化のレベルを上げる
  • 現実で使っている言葉(ユビキタス言語)と実装で用いるクラス名・モジュール名を一致させる

2. 技術的な視点

  • パフォーマンス
  • プログラミング言語による制約
  • etc.

trade off

1.2. のトレードオフがあって、両方をうまくバランスするのが重要かなと思いました。

原則 1. 重視して考えて、ある程度完成(これは各個人で判断)すれば, 2. に頭をスイッチして取り組む、みたいなことができればよさそう。

複数のことを同時に考えるなんてことは僕には難しいので, 都度複数の視点に頭を切り替えることが大事そう。

あくまで今の段階で感じたことでまた変わる可能性は大いにある。

Contents