2012-04-05 64 views
2

我構建爲.net.net應用程序在.net框架4.0,我將使用Linq到實體(實體框架)作爲我的DataModel(DAL),我的設計模式將實體框架將成爲DAL層的三層圖層。實體框架與asp.net webforms應用程序的最佳做法

我的問題是我應該爲我的表格創建一個BLL圖層,以便我從表示圖層(我的頁面)處理它,並在其中調用我的選擇,插入,更新和刪除函數,或者最好調用實體框架直接在我的表示層?

回答

2

這取決於應用程序;圖層沒有被定義,因爲它們很好,層被定義,因爲它們是需要的。

如果您的應用程序是一個很大的應用程序,並且業務規則經常會發生變化,那麼就去構建一個BLL層。否則,恕我直言,這只是過度工程。 決定時,您的應用程序的規模和變化率應該是您的主要關注點。

請注意,如果您直接調用EF,您的業務規則將在您的表示層中。如果它們可能會發生變化,那麼重構表示層將會變得很糟糕,並且可重用性會更低。

但是這又取決於您的應用程序的規模,您的項目進度,業務規則的變化率和其他因素。

+0

我的應用程序是一個新聞門戶網站,我關心的不是像addarticle()那樣重複相同的方法,例如2或3次,我可以爲文章做一個BLL圖層並填充它的屬性,然後調用Addarticle()方法將完成剩下的工作。 – 2012-04-05 08:19:47

+0

您可以在演示文稿中定義一個addarticle方法並重用它,但這並不意味着實現一個業務層。 – daryal 2012-04-05 08:21:29

+0

你是完全正確的,但是這並不意味着我將不得不修改這個方法3次例如,如果以後我添加一個新的字段到表中? – 2012-04-05 08:24:31