关闭

浅谈三层与MVC

标签: 三层架构
274人阅读 评论(15) 收藏 举报
分类:

MVC框架(Model View Controller):

MVC 是模型(Model)--视图(View)--控制器(Controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化界面的结构中。
这里要区分清框架和设计模式。两者及其容易混淆,MVC是一种框架。框架与设计模式虽然相似,但是却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更加抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示,设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定的领域,但同一模式却可适用于各种应用,可以说框架是软件,而设计模式是软件的知识

总之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

MVC框架内容:

MVC是一种框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

(1)视图(View)

是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
视图是用户看到并与之交互的界面。MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

(2)模型(Model)

是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需要写一次就可以被多个视图重用,所以减少了代码的重复性。

(3)控制器(Controller)

控制器是应用程序中处理用户交互的部分。通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据。
控制器接收用户的输入并调用模型和视图去完成用户的需求。


三层架构与MVC的“爱恨情仇”大笑

三层架构是基本的项目分层结果,而MVC则是三层架构的一个变体。
三层:UI 界面层 ;BLL 业务逻辑层 ;DAL 数据访问层 ;Model实体层。
MVC中的M不是三层中的Model(实体层),它其实包括三层中的BLL,DAL,MODEL,这是非常要注意的,也是区别的关键所在。

MVC总是伴随着三层架构。我们一般是在考虑使用了三层架构的基础上再根据具体需求决定是否需要使用MVC。
虽然两者的侧重点不同,但是总体目的是一致的,都是为了分层,解耦。
当然啦,任何一种事物都有优缺点:
MVC优点:
生命周期成本低,MVC使得开发和维护接口的技术含量降低。
部署快,各分其职;
可维护性高,有利于软件工程化管理。
缺点:
不适合小型,中等规模的应用程序,花费大量时间将MVC应用规模不是很大的应用程序会得不偿失的,增加了系统结构和实现的复杂性,降低系统运行效率。
视图与控制器间的过于紧密的连接,妨碍了他们的独立重用。造成视图对模型数据的低效率访问,一般高级的界面工具或构造器不支持模式。
感觉呢,理解起来有些困难,而且还有很多盲点,如果实际应用,难度对于现在的我来说,可能就理解不了了。但是有困难,才有乐趣,加油!奋斗


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21014次
    • 积分:3642
    • 等级:
    • 排名:第9295名
    • 原创:93篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1307条
    最新评论