私は最近、Scott Miller と Nick Tune による Domain-Driven Design の Patterns, Principles and Practices という本を手に入れました。C# での素晴らしい例がいくつかあるので、以前に読んだ Java で書かれた他の DDD の本とは少し異なります。Domain イベントの実装は、デリゲートとイベントに対する C# のサポートにより、非常にすっきりしています。
ただし、本書のアプリケーション サービスの章で「手続き型で薄い」べきだと述べられているように、気になることが 1 つあります。アプリケーション層が薄いことを意図していることは理解していますが、なぜプロシージャルなスタイルなのでしょうか? 手続き型のコードを書きたくない、または最初から DDD を選択しなかった。また、このスタックオーバーフローの記事では、アプリケーション サービスは手続き型コードであるとラベル付けされていることもわかりました。
ご覧のように?アプリケーション サービスは手続き型であり、OOP ではありません。これは、アプリケーション サービスの手続き型インターフェイスを OO インターフェイスに置き換えることで、設計をよりオブジェクト指向に改善できるかどうか疑問に思います。この記事では、メソッド オブジェクトを使用することを提案していますが、それは機能しますか? 手続き型アプリケーション サービスに代わるオブジェクト指向の代替手段は何ですか? 誰でも詳しく説明できますか?
http://ayende.com/blog/2145/entities-services-and-what-goes-between-them