MVC设计模式

      近期已将《设计模式》 这本看完了,和浅浅的了解了一下PHP开发框架(ZendFramework),有所收获,但一直也没有好好的应用到项目中去,这次刚好有实际的项目来分析,同时也希望将这种设计思想注入在手中开发的项目中去。

MVC(Model、View、Control )是一种比较复杂的、应用于项目整体架构模式,它强制性的使应用程序的输入、数据处理和输出分开。使应用程序被分成三个核心部件:模型、视图、控制器。它们各司其职。

1. M(模型)
模型就是数据处理、业务流程、状态的处理以及业务规则的制定,例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

2. C(控制器)
控制层接受用户的输入并调用模型和视图去完成用户的需求。当用户发出请求时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。

3. V(视图)
视图是用户看到并与之交互的界面,只负责将用户请求数据以页面的形式显示给用户。对于Web应用程序来说,HTML依旧在视图中扮演着重要的角色。
对于MVC设计模式的应用处理流程是:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回相应的数据,最后控制器用相应的视图格式化模型返回的数据,并通过视图呈现给用户。


4. 结构目录

MVC结构目录


5. MVC的优点
a. M 是自包含的,并且与 C 和 V 相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自Oracle数据库或其他数据库服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互对立,不会影响,真正做到应用程序构件中的松耦合,高内聚。
b. 由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。
c. 于这三层的层各司其职,每一层不同的应用具有某些相同的特征,对于整个项目的后期的维护及扩展带来很大的方便。..............

6.MVC的缺点
a. MVC设计复杂;
b. 同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。
c. MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值