我一直在写这是应用分层为:层设计中的应用
DB < - > DAL < - > BL < - >服务< - >演示
而这是获得真实引用的所有。即演示文稿没有对DAL的引用。
我们为客户写了一个新应用程序,客户正在提出一些对我来说是陌生的东西。也就是说,WRITE流程通过SL,但是从数据库读取数据,我们希望在演示文稿中有一个linq查询,直接指向DAL。这看起来很奇怪,但我被告知我的方式是老式的,我的方式和他们提出的方式本质上是一样的。另外,我的业务逻辑通常驻留在BL中,这是一个单独的项目。但客户希望业务逻辑在DTO对象本身中。
这是正常的吗?这基本上是域驱动开发还是什么?我觉得奇怪的是,LINQ调用来获得数据的形式,是在表示层,而不是我一个服务层方法的想法:
public MyPersonObject GetPersonByPersonId(int personId)
然后在业务,同样的方法,可能会将某些规则应用于获得的内容,然后在具有Linq的DAL中使用相同的方法。