0

因此,我正在尝试学习如何在 WPF 应用程序中保持良好的结构,并且很难找出使用 BLL 和 DAL 的最佳方式。

我的 BLL 中已经有几个模型,例如:

客户、账户等

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

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

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

4

1 回答 1

-1

实体喜欢Customer并且Account必须属于Domain模型。Domain建议您对所有不相关的依赖项(例如 MVVM-blablabla)保持不可知论。我会首先考虑如何从您的模型中删除对 MVVMLightToolkit 的依赖。您总是可以依赖 INotifyPropertyChanged,有时最好牺牲一些语法片段。如果你能避免重复,你应该避免它。

最后,您提出的问题取决于具体情况,没有一种完美的补救措施。

考虑学习以下材料:
领域驱动设计基础
Eric Evans 关于 DDD 的书

于 2015-03-11T14:26:22.333 回答