所以我正在努力学习如何在WPF应用程序中保持良好的结构,并且很难找到使用BLL和DAL的最佳方法。
我的BLL中已经有一些模型,例如:
客户, 帐户, 等等
我也使用MVVMLight工具包使事情变得更容易,因此几乎所有模型都继承自“ObservableObject”。
现在我要创建DAL并使用Entity框架。由于我的所有模型都使用ObservableObject,我觉得我不能只将它们移动到我的DAL来创建我的表(代码优先)。
这里最好的方法是在我的DAL中创建几乎相同的对象,并在检索它们时将所有数据映射到我的BLL中的旧模型吗?我知道这是一个双倍的工作,所以但是看不出我怎么能保持它更干净(除了从ObservableObject停止继承)
答案 0 :(得分:-1)
Customer
和Account
等实体必须属于Domain
模型。
建议保持Domain
不可知的所有不相关的依赖项,如MVVM-blablabla。我首先考虑如何从模型中删除对MVVMLightToolkit的依赖。
你总是可以依靠INotifyPropertyChanged,有时最好牺牲一些糖的语法片段。
如果你可以避免重复,你应该避免重复。
最后,你提出的问题在很大程度上取决于环境,没有一个完美的补救办法。
考虑学习以下材料:
domain-driven-design-fundamentals
Eric Evans book on DDD