2012-04-15 93 views
1

我想創建一個存儲庫模式的n層體系結構。我想知道是否有意義,只需通過BLL層複製所有呼叫,然後通過BLL訪問僅數據呼叫?或者我可以通過DAL直接訪問某些內容,還可以通過BLL訪問某些內容?如果我使用BLL,我還應該訪問DAL嗎?

+0

我個人只能通過我的bll訪問我的dal,並且會重複呼叫。你永遠不知道什麼時候可能需要添加一些業務邏輯,並且在bll中修改呼叫比在bll上添加新呼叫要容易得多。 – 2012-04-15 14:26:06

+0

如何定義「僅數據調用」?爲什麼你覺得你在BL裏「重複呼叫」?你在編程什麼技術(Winforms,Webforms,MVC ...?)? – 2012-04-17 17:58:56

回答

1

海事組織它沒有意義只爲了它而複製
(但實際上每一個方法都有其優點和缺點,沒有什麼是永遠是錯的還是不錯的本身)

通常雖與例如(簡體)有點「粒」的數據完全一致,表格等

數據層處理

儘管您的業務層可以將其組合起來,並更多地圍繞「邏輯」和邏輯模型(數據模型和數據)展開。

如果您發現自己在您的biz圖層中有DAL的確切副本,那麼您最有可能缺少點類型。有些事情可能需要重新組織,拋棄或簡化。

或者例如問問你自己 - 如果你想要例如將DAL替換爲使用不同類型的存儲(不同組織的事物或任何需要更改數據/ DAL操作方式的內容) - BLL的外觀如何?一樣?你的業務層不應該「遵循數據」 - 它應該有它自己的規則,更多的關於你的域的邏輯,你在做什麼。雖然數據應該是關於數據的。因此,簡而言之,問題主要是你如何設計你的系統 - 如果你很好地利用了業務層(通常你應該除非它相對簡單,或者例如你決定採用完全不同的架構),然後使用它,如果沒有,則不需要重複。

希望這有助於。

相關問題