我正在通过微软ASP.NET网站上的早期数据访问教程,我想到这一切似乎与我读到的关于使用MVC模式分离逻辑和表示代码的内容非常类似.作为一个新手,我还没有实现MVC模式,但我很好奇这两个设计结构是如何不同的,如果我应该把注意力集中在一个或另一个上,特别是在网页设计的背景下.
MVC解决的不仅仅是数据访问.在MVC中,DAL和BLL都包含在模型中.该视图定义了如何向用户呈现模型数据,而控制器则响应用户输入(Web上的GET/POST).
MVC的替代方案是经典的N层架构,您可以在其中使用表示层,业务层和数据访问层.在此体系结构中,视图和控制器的组件在表示层中包装在一起.WebForms/WinForms是N层架构的一个例子,而ASP.Net MVC是微软领域的MVC的一个例子.
您为数据访问教程发布的链接是MVC模式的实现.MVC模式是一个概念,实现可以有所不同; 你在ASP.NET中有这个,而在Java中有一个名为Struts的框架,它是一个实现MVC.
DAL和BLL模式在概念方面与MVC模式不同; 但不是这个具体的实施.MVC实际上是通过使用DAL,BLL和View Patterns实现的.