先日、ASP.NET MVC + CSLA + DDD (ドメイン ドライブ設計) をベースにしたシステムのレビューを依頼されました。このシステムの最初のバージョンは、ASP.NET MVC + CSLA に基づいていました。2 番目のリリースは、それに加えて DDD が追加されたものに基づいていました。理由は……まあ、わからないからです。2 つの異なるアーキテクチャの図を見ると、2 番目のバージョンが非常に複雑であることが明らかになりました。CSLA オブジェクトは基本的に Domain オブジェクトを使用していました。このようなものを見たときは、すでに臭いがすることを知っていますが、A) すべてのトピックについて極端な知識を持っているか、B) 長期間使用していない限り、なぜ誰かがこのようにしてはいけないのかを正当化するのは困難です. このトピックについてはどちらも持っていませんが、これを最初から作成していたら、このようにはしなかったでしょうし、そうしなかったでしょう」
では、親愛なる読者の皆さん、この状況でどうしますか? 私の考えでは、CSLA と MVC と DDD を使用したい場合は、立場を明らかにして、どちらか (CSLA または DDD) を選択します。そうしないと、キッチンに料理人が多すぎます。
この件についてご意見がありましたら、ご意見をお聞かせください。