2014-02-05 146 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