私は新しいプロジェクトの開始段階にいます。私は常に自分自身を改善し、過去からの過ちを回避しようとしているので (誰もがいくつかの荷物を持っています) 、.NET のレイヤード アーキテクチャ サンプルを見ました。データとビジネス ロジックを見ると、データ レイヤーが実際に ExpenseSample.Business.Entities アセンブリへの参照を持っていることがわかりました。そのため、データ レイヤーはビジネス レイヤーがあることを認識しています。それはちょっとぎこちなく見えます。
確かに、DataObject を BusinessEntities にマッピングすることで時間を節約できますが、「危険な」アプローチではありませんか?
いくつかの議論とおそらくより良い解決策を楽しみにしています.
更新: ご意見ありがとうございます。今使ってる
MyApp.Data.Contracts.*
MyApp.Data.Access.* /* has the classes to access the DB and maps it to
the Data.Contracts */
MyApp.Business.Entities.*
MyApp.Business.Components.* /* accesses the classes from Data.Access,
maps the Contracts to the Business.Entities and
provides the components to access them */
このようにして、データの表現に対する内部的な変更が外側のレイヤーに影響を与えないようにすることができます。