我正在开始一个新项目,所以是时候重新评估我的工作方式了。
在最近的过去,我创建了一个3层/层项目(UI,域,数据),每个层都有自己独立的模型。 DAL拥有Domain层使用的数据实体,它们将它们映射到UI所使用的域模型,并将它们映射到ViewModels。
这确实允许在每个级别(尤其是UI)进行一些区分,但映射非常繁琐(Automapper帮助了一点),Domain和Data层基本上是1:1,UI视图模型是最有用的。
我正在试图弄清楚如何简化我的下一个项目,我可以使用一些建议。
修改 实际上,我正在考虑在域层和数据层之间共享一组dto。它将我更多地锁定在数据库结构中,但在相同类型之间保存了大量映射。
答案 0 :(得分:1)
我认为你可能会看看MVVM,特别是因为它是用于UI /模型分离的,你已经认为它很有用。它更少关注数据(至少不会分割数据)。
也有很多人拆分数据(在MVVM中称为Model)和数据序列化。
据我所知,域和数据是如此紧密耦合,你不应该拆分它(我从来没有)。但也许你对Domain和Data的定义有点不同。