我有一个带有UI,BI和数据层的N层应用程序。
BI层执行许多操作,比如返回List(DBLayer.SomeObject)
然而,UI层不引用BI层,那么如何以UI可以处理的格式将其返回到UI层?
我是否必须将对象重新定义到BI层?
答案 0 :(得分:0)
实体对象通常被放入由表示层,业务层和数据访问层共享的组件中。
构建图层和实体的方式取决于应用程序的大小和复杂程度。将域驱动设计(DDD)考虑在内的有效方法是将应用程序和域逻辑分离为单独的层。实体实际上构建了一个域模型,不仅包含数据结构,还包含域逻辑,因此也是域层的一部分。
显然,域模型由应用层使用,实体也可以由UI使用。如果数据访问层也知道域模型并直接处理实体,那么这是最简单的。或者,DAL仅提供映射到域对象和从域对象映射的DTO。