我一直在寫這是應用分層爲:層設計中的應用
DB < - > DAL < - > BL < - >服務< - >演示
而這是獲得真實引用的所有。即演示文稿沒有對DAL的引用。
我們爲客戶寫了一個新應用程序,客戶正在提出一些對我來說是陌生的東西。也就是說,WRITE流程通過SL,但是從數據庫讀取數據,我們希望在演示文稿中有一個linq查詢,直接指向DAL。這看起來很奇怪,但我被告知我的方式是老式的,我的方式和他們提出的方式本質上是一樣的。另外,我的業務邏輯通常駐留在BL中,這是一個單獨的項目。但客戶希望業務邏輯在DTO對象本身中。
這是正常的嗎?這基本上是域驅動開發還是什麼?我覺得奇怪的是,LINQ調用來獲得數據的形式,是在表示層,而不是我一個服務層方法的想法:
public MyPersonObject GetPersonByPersonId(int personId)
然後在業務,同樣的方法,可能會將某些規則應用於獲得的內容,然後在具有Linq的DAL中使用相同的方法。