|
在C/S阶段的时候,我们接触和深入学习过三层架构,再次我就不再对三层架构进行概述了.MVC一种混合模式,它不是一个新的内容,在三层架构和设计模式学习的时候我们都有接触过,那个时候仅限于知道的阶段. , B+ J" r- `& b) r
一.MVC概述 M(模型,model):表示系统的业务逻辑,包括数据和业务上的规则,操作,在MVC模式中,模型是要实现系统的核心功能,为视图提供数据,供其他部件调用,对系统的功能起到封装的作用,以提高程序代码的可复用程度. V(视图,view):是系统的外观表现,是系统与用户交互的界面.在视图中不进行业务处理,只是简单的显示和向模型或控制器提交数据,发送处理请求,在得到处理结果后显示出来,这样就将显示与处理这两种类型的功能区别开来,使程序代码具有良好的层次性和可复用性. C(控制器,Controller):提供对系统处理过程的控制,对用户的输入做出响应,创建并设置模型中的属性,对输入的数据做出校验,更加客户端提出的请求,选择合适的模型来处理业务逻辑,再将数据返回给视图.可见,控制器就相当于一个调度中心和数据处理的中转站. & b; x' ]* u+ X# A/ L3 e" H
二.MVC基本设计思想
9 v# a& R0 c: C9 R9 {. c
$ J6 q4 ]( J5 ?4 I MVC模式在实现时把"做什么(业务处理)"和"怎么做(业务实体)"进行了分离,使得开发人员的分工可以更细,业务逻辑可以重用.视图则在一般情况下只接受来自于模型的数据并显示给用户,以及将用户输入的数据提交给模型或者控制器,
9 ~6 o% A! j1 L' `三.MVC的好处% _0 k0 `) J8 N
8 P! P) p$ l# p$ c( } }' @( I- q
1.低耦合性 视图和模型的分离,实现了数据显示处理和业务处理逻辑的分别实现,相互之间影响程度较低,改变业务的处理的逻辑可以不变更数据显示的逻辑,数据表现的不同形式也不会影响到业务逻辑的处理.
6 t5 j3 z! [- X7 I& Y3 p1 d9 N8 U; F% D 2.高复用性 比如不同表现的客户端可以共用业务处理逻辑代码,一个web应用系统的核心功能用组件完成之后,表现的客户端可以用无限浏览器,也可以用web浏览器.这样不局限与客户端的显示.而核心功能部件是一样的.
7 M3 }; L- C" p" g( V3 ^ : o% A' L$ m1 B
四.MVC和三层的区别
; J% a7 r2 u$ a- ~# a
% ^- {7 z* O9 E6 E8 E1.两者不是一个概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。我们不单单要说三层架构和MVC模式的区别,我们来看看架构和模式的区别,那就从我们接手一个项目开始: 首先,我们需要进行架构设计,一般我们采用的就是分层式的架构设计,即我们的三层架构。 然后,在确定了架构以后,我们再根据项目的具体需求去考虑是否需要应用一些设计模式,比如是否应用我们的MVC模式,抽象工厂模式等等。 最后,确定了模式以后,就是我们的一些具体的实现了。 使用架构和模式的目的都是:解耦.但是使用模式是为了让项目变得更加的灵活,写最少的代码,做的做多的事情.
3 a, g5 P( a& x4 ^
, l* z+ X4 U j W+ u5 H2.划分层次不同 三层架构将整个项目划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),是基于业务逻辑来划分的. MVC即Model(模型),View(视图),Controller(控制),是基于页面来划分的. 他们之间的关系如下: $ X( e5 \6 Z4 p/ l5 W
$ Z8 r+ h! V$ Y* \& v
2 o( V0 C7 S1 b3.侧重点不同
3 M- o; v1 U- Y, {6 d& r 三层架构的目的着重点是“高内聚,低耦合”,即解耦。MVC的目的则是实现Web系统的职能分工,即职责划分。其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。
. {3 p6 I8 Z7 G0 I: H2 w+ w- p五.混为一谈的原因 1.二者都是"三层"
+ J; ~7 b% F Y- ?9 c
2.MVC总是伴随着三层架构 / B7 s4 N) I9 Q$ S9 z
3.都是在分层,即都是在解耦
5 p* F* X! p* x" p: }" [0 K" E9 M; G9 E* C9 e! V; V
六.总结 不管学习三层还是学习MVC模式,我们需要学习的时候它的思想:解耦---高内聚低耦合.学习的时候,学会怎么用固然重要,但是把知识结合起来,学习其中的思想和精髓才是最重要的.无论什么东西,都是由理论来支撑和引导的.其中国的经济也不例外. |