2014-02-05 90 views
0

我正在撰寫一篇關於三層設計體系結構的報告,重點關注一個ASP.NET Web應用程序的 。目前我有一個簡單的視覺工作室網絡形式項目,我想知道哪種模式簡單的WebForm(ASPX,ASPX.CS,ASPX.DESIGNER.CS)演示文稿正在使用,就像ASP.NET MVC使用MVC模式?ASP.NET Web Forms演示架構和模式

此外,在三層架構中,用戶控件組件(ASPX.CS)的位置在哪裏?較低的表示層或較高的BLL層?

+0

我認爲你是在複雜的東西,並試圖混雜其他設計在一起。你的用戶界面層將包含用戶控件(ascx包括其相關的蒼蠅),css,js,aspx頁面,母版頁,html頁面等等...每個ASPX文件都將包含所有相關文件(設計器和代碼隱藏)同一層。那麼你有你的BLL - 你的業務邏輯不應該知道關於用戶界面的任何信息,但可能知道如何訪問DAL(數據層)。 DAL沒有UI或BLL的知識,但會返回一組標準的合同數據對象 –

回答

2

Web窗體可以遵循MVC模式,這一切都取決於您如何實現您的設計。 Web Forms讓你可以自由地做你想做的事情,但是擁有強大的力量會帶來很大的責任,因此你會看到很多糟糕的Web Forms設計。

ASP.NET MVC非常強迫你遵循MVC模式來完成任何事情。你必須努力按照MVC模式而不是

1

ASP.NET Web Forms是MVC設計的原因。特別是因爲Web Forms沒有遵循任何嚴格的設計準則,並且很多時候都存在濫用和糟糕的設計。我親眼目睹了一些,並在我的職業生涯早期寫下了一些。

您仍然可以在Web窗體項目中使用類似的體系結構。您可以創建單獨的域對象層,分離業務邏輯,單獨的數據訪問和單獨的用戶界面。您想要將您的ASPX CS代碼限制爲業務邏輯和域對象。您希望業務邏輯和數據訪問交互。你也可以創建一個MVC應用程序。

這是一個非常好的書,在這個問題上寫着:專業ASP.NET設計模式http://www.amazon.com/Professional-ASP-NET-Design-Patterns-Millett-ebook/dp/B0045JL68W/ref=pd_sim_kstore_2

+0

是的,這是我閱讀過的最好的設計模式書。 @OhLongJohnJohnson嘗試閱讀本書中的MVP模式來找出你的答案。 – Ehsan