zoukankan      html  css  js  c++  java
  • MVC简单介绍

      MVC其实是一种设计思想,包括了设计模式中的策略、观察者等,主要优点在于解耦,用MVC搭建的程序易维护,易扩展,易测试。以下转自代震军BLOG

      一.  MVC是谁提出的    
         模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件
    设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的
    使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多
    好处,但也有一些缺点。

        二.  MVC是否适合进行大项目的开发
        MVC框架肯定是适合于做大项目开发的,但并不是说有了MVC框架我们就可以开发大项目,听起来
    有些绕,其实道理很简单,原因就是人(开发者)。如果你是一个对MVC框架的设计理念有深入研究
    的人,那么你在使用MVC框架进行产品和项目开发的时候就会随时随地都要考虑一些问题:

        1.低耦合性(强调视图层和业务层分离)
        2.可测试性(这个非常重要)
        3.高重用性和可适用性
        4.有利于软件工程化管理等等。

    模型(model),控制器(controller),视图(view)之间的关系如下:

             

    这张图是转自代震军博客,在其他MVC的教程上,VIEW向CONTROLLER发送请求时,CONTROLLER除了会将请求传递给MODEL外,也可能要求VIEW作出相应的改变。在MODEL根据请求作出反应后,通知VIEW,也有可能通知CONTROLLER,即此时,MODEL为观察者的主题,VIEW和CONTROLLER都是观察者。VIEW获得MODEL的响应后,也可能再直接向MODEL请求状态。CONTROLLER和VIEW之间的关系是,CONTROLLER是VIEW的行为,即策略模式中的策略,在原理上诠释比较清楚的请大家参考headfirst设计模式,我个人觉得写得比较浅显易懂。

     

  • 相关阅读:
    Spark&Hive结合起来
    spark&dataframe
    JAVA-数组或集合
    九种经典排序算法详解(冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序,计数排序,桶排序,基数排序)
    B+树介绍
    @transactional注解在什么情况下会失效,为什么。
    一个ArrayList在循环过程中删除,会不会出问题,为什么?
    Java:传值还是传引用?
    Java序列化的方式。
    实现动态代理的两种方式
  • 原文地址:https://www.cnblogs.com/millen/p/1626201.html
Copyright © 2011-2022 走看看