三层架构与MVC & 设计模式的较量

刚刚学习了三层架构,而且正在实际应用中,但随着学习的深刻,又了解到了一个叫MVC的东西,(早在设计模式中就听到过MVC,仅仅是简单查了一下什么意思.)现在正好把这三个东西放在一块儿聊聊.java

 

三层数据库

是一个分层式的软件体系架构设计,它可适用于不论什么一个项目。设计模式

它是从整个应用程序架构的角度把程序分为三层UI,BLL,DAL固然假设程序需要,还可以分多层)。架构

三层是为了解决整个应用程序中各个业务操做过程当中不一样阶段的代码封装的问题,为了使程序猿更加专一的处理某阶段的业务逻辑。框架

比方将数据库操做代码封装到一层中,提供一些方法依据參数直接返回用户需要的对应数据,这样在处理详细的业务逻辑的时候。就不用关心数据的存储问题了。jsp

详见学习

http://blog.csdn.net/u010028869/article/details/24711163spa

 

MVC.net

全名是Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。架构设计

它强制性的使应用程序输入处理输出分开。使用MVC应用程序被分红三个核心部件:模型视图控制器

它们各自处理本身的任务。

     Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

                一般模型对象负责在数据库中存取数据。

     View(视图)是应用程序中处理数据显示的部分。

               一般视图是根据模型数据建立的。

     Controller(控制器)是应用程序中处理用户交互的部分。

              一般控制器负责从视图读取数据。控制用户输入。并向模型发送数据。

 

MVC 分层有助于管理复杂的应用程序,因为可以使咱们在一个时间内专门关注一个方面。

好比,可以在不依赖业务逻辑的状况下专一于视图设计。同一时候MVC使应用程序的測试更加easy。

 

MVC和三层架构是不一样的

(就表面知识来讲)

三层架构是界面层(UI)业务逻辑层(BLL)和数据訪问层(DAL)构成的,而MVC是模型层(M)界面层(View)和控制层(Controller)构成的,而且他们之间也不是一一相应.

假设硬要给他们相应的话,那么三层架构中的UI相应MVC中的viewjsp),都是用于显示以及获取界面的数据;三层架构中的BLL层和DAL层相应MVC中的Modeljavabean)层都是用于处理上层传递来的数据以及从数据库获取的数据的。MVC中的ControllerServlet)最多算是三层架构中的UI的一部分,也就咱们常说的是Servlet

例如如下图所看到的:

                   

 

MVC和三层架构是一样的

(就他们的目的来讲)

先驱们为何会设计出MVC和三层架构呢?它们有这一个共同的目标!----分层。解耦!

从解耦的角度来看三层架构和MVC事实上他们是一致的,仅仅只是划分的方法不同罢了。

馒头和面条。表面上看他们不同但是他们核心是一致的,都是面……

 

三层&MVC与设计模式的较量

首先MVC不是设计模式,它同三层同样都是架构级别的,是一种架构模式.

 

MVC框架与设计模式尽管类似,但却有着根本的不一样。

设计模式是对在某种环境中重复出现的问题以及解决该问题的方案的描写叙述,它比框架更抽象;框架可以用代码表示,也能直接运行或复用。而对模式而言仅仅有实例才干用代码表示;设计模式是比框架更小的元素。一个框架中每每含有一个或多个设计模式。框架老是针对某一特定应用领域,但同一模式却可适用于各类应用。

 

总而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧。对详细问题提出解决方式,以提升代码复用率,减小耦合度。

尽管MVC的学习还没開始,先提早接触下,有什么错误的地方请指正!

相关文章
相关标签/搜索