【发布时间】:2011-11-14 22:21:18
【问题描述】:
我目前正在创建一个足够大的项目,以仔细分离其架构中的知名层。
对于数据访问层 (DAL),我只使用 .NET Entity Framework。
对于业务层,我定义了业务对象,随后的开发人员可以使用这些对象来创建客户端和处理 UI。
由于我还必须为演示目的开发客户端应用程序,我意识到使用 ObservableCollection<T> 而不是列表会非常有帮助,并且对象应尽可能多地实现 INotifyPropertyChanged界面,以便 UI 自动检测更改并立即显示更新。
然而,我想知道从架构的角度来看,这是否真的是正确的做法。也就是说,技术上,我不认为业务层应该与 UI 显示有任何关系,因为我们并不真正“知道”程序员可能会使用它来做什么;例如,他可能只想将这些对象用于计算目的。因此,我想知道常见的做法是什么?
我应该在业务层实现这些功能吗(不会有性能问题)?我应该在包含所有这些功能的另一层中创建某种“装饰器”对象吗?
【问题讨论】:
-
每一层应该有不同的类集。听起来有点多余,但这是正确的选择(正如您的疑问所证明的那样)
标签: .net architecture