自己所能理解到的MVC设计模式

首先讲下框架、架构和设计模式的区别:

框架是代码重用,设计模式是设计重用,而架构是部分代码重用,部分设计重用还有部分分析重用;

设计模式是对在某种环境下反复出现的问题所提出的通用的解决方案,比框架更加抽象,框架可以直接用代码表示出来,可以直接执行以及重用,而设计模式只能根据具体的实例然后用代码表示,但是设计模式想对于框架而言是更小的元素,一个框架中可以使用多个设计模式。

从菜鸟教程里拉出来的设计模式的种类:

1、创建型模式(这些模式提供了一种在创建对象的同时隐藏创建逻辑的方法,而不是使用new运算符直接实例化对象。这使得程序在判断某个给定的实例需要创建那些对象更加灵活)

     工厂模式(Factory Pattern)
     抽象工厂模式(Abstract Factory Pattern)
     单例模式(Singleton Pattern)
     建造者模式(Builder Pattern)
     原型模式(Prototype Pattern)

2、结构型模式(这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式)

     适配器模式(Adapter Pattern)
     桥接模式(Bridge Pattern)
     过滤器模式(Filter、Criteria Pattern)
     组合模式(Composite Pattern)
     装饰器模式(Decorator Pattern)
     外观模式(Facade Pattern)
     享元模式(Flyweight Pattern)
     代理模式(Proxy Pattern)

3、行为型模式(这些设计模式特别关心对象之间的通信)

     责任链模式(Chain of Responsibility Pattern)
     命令模式(Command Pattern)
     解释器模式(Interpreter Pattern)
     迭代器模式(Iterator Pattern)
     中介者模式(Mediator Pattern)
     备忘录模式(Memento Pattern)
     观察者模式(Observer Pattern)
     状态模式(State Pattern)
     空对象模式(Null Object Pattern)
     策略模式(Strategy Pattern)
     模板模式(Template Pattern)
     访问者模式(Visitor Pattern)

4、J2EE模式(这些设计模式特别关注表示层,这些模式是由Sun Java Center鉴定的)

     MVC 模式(MVC Pattern)
     业务代表模式(Business Delegate Pattern)
     组合实体模式(Composite Entity Pattern)
     数据访问对象模式(Data Access Object Pattern)
     前端控制器模式(Front Controller Pattern)
     拦截过滤器模式(Intercepting Filter Pattern)
     服务定位器模式(Service Locator Pattern)
     传输对象模式(Transfer Object Pattern)

------------------------------------------------------------------------------------------------------------------------------------------------------------------

MVC设计模式是一种使用模型(Model)------视图(View)--------控制器(Controller)方式设计web程序的软件设计模式。

使用MVC设计模式的目的是为了使M(模型)和V(视图)分离,使得同一个程序有不同的表现形式,比如同一组数据可以使用柱状图和饼状图

视图:用户看到并且与之交互的界面

模型:表示业务数据并提供数据给视图

控制器:接受用户的输入并调用视图和模型去完成用户的需求,作用于视图和模型上

最典型的MVC实例就是 JSP-----Servlet-----JavaBean。

MVC的整个控制流程:

1、所有的用户请求都被发送到控制器

2、控制器根据请求加载相应的模型,并把模型附加到视图上

3、附加了模型数据的视图最终作为相应发送给用户

对于MVC设计模式来说,V(视图)的定义是最清晰的,但是M(模型)和C(控制器)的一些职责很容易混淆。

一般来说分为两种理解:

1、闭环党

2、开放派

这里就直接将View和Model分开了,缺点是Controllor的职责过重。

MVC设计模式的优点:

1、耦合性低

由于各个部件都是分离的,改造一个部件不会对其他两个部件造成影响

2、重用性高

MVC本来就是为了能够使一个程序能够有多种表现形式,所以在不同的表现层下,其模型层和控制器是大致相同的

3、部署快

由于各个部件的分离,所以对于不同的部件,其工作人员可以专心工作自己的这一层

MVC设计模式的缺点:

1、没有明确的定义

使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。(百度百科)

2、不适合中小型应用程序

MVC的设计比较麻烦,所以对于一个小的应用程序去按照标准的MVC设计,可能会得不偿失。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

暂时只能这么多了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值