我正处于一个新项目的开始阶段。因为,我一直想提高自己并尽量避免过去的错误(每个人都有一些包袱),所以我查看了.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 */
因此,通过这种方式,我可以确保对数据表示的内部更改不会影响外层。