BLL和DAL中的不同模型

时间:2015-03-11 14:16:34

标签: c# wpf data-access-layer bll

所以我正在努力学习如何在WPF应用程序中保持良好的结构,并且很难找到使用BLL和DAL的最佳方法。

我的BLL中已经有一些模型,例如:

客户, 帐户, 等等

我也使用MVVMLight工具包使事情变得更容易,因此几乎所有模型都继承自“ObservableObject”。

现在我要创建DAL并使用Entity框架。由于我的所有模型都使用ObservableObject,我觉得我不能只将它们移动到我的DAL来创建我的表(代码优先)。

这里最好的方法是在我的DAL中创建几乎相同的对象,并在检索它们时将所有数据映射到我的BLL中的旧模型吗?我知道这是一个双倍的工作,所以但是看不出我怎么能保持它更干净(除了从ObservableObject停止继承)

1 个答案:

答案 0 :(得分:-1)

CustomerAccount等实体必须属于Domain模型。 建议保持Domain不可知的所有不相关的依赖项,如MVVM-blablabla。我首先考虑如何从模型中删除对MVVMLightToolkit的依赖。 你总是可以依靠INotifyPropertyChanged,有时最好牺牲一些糖的语法片段。 如果你可以避免重复,你应该避免重复。

最后,你提出的问题在很大程度上取决于环境,没有一个完美的补救办法。

考虑学习以下材料:
domain-driven-design-fundamentals
Eric Evans book on DDD