Open pandanoir opened 4 years ago
なんかアーキテクチャの話というより、設計するときの手法らしい(Domain Driven Designなんだからそりゃそう)。
たとえばDIはこれを行う手法の一つ。たとえばA→Bと直接依存すると、Bの変更でAも修正しなければならないかもしれない。ここでAはCというインターフェイスに依存、BはCを実装とすれば、たとえBをDへ差し替えたとしてもAはそれを認識しなくて良くなる。
https://little-hands.hatenablog.com/entry/2018/12/17/what_is_ddd
わかりやすい。
DDDは モデルをコードに落とすのにオブジェクト指向設計の手法を使っている という立場で、オブジェクト指向が普通の人たちからすれば割と普通の考えだったりします。それに加えて、DDD独自のニーズに最適化したデザインパターンを定義しています。
また、現実→モデルという発想も、モデル駆動開発という発想を使っているもので、それはDDDだけのものではありません。その手法が普通の人からしても、これもまた当然のことを言っているように感じるでしょう。
このように、DDDでは既存の様々な手法を統合して、「現実→モデル→コード」を実践することで、ソフトウェアの価値を高めることを目指すものなのです。
(from Domain-driven design)