何为设计模式:
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
狭义上来讲,主要源于程序员的圣经:《Design Patterns: Elements of Reusable Object-Oriented Software》(即述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为"四人组(Gang of Four)"。该书提出32种设计模式,被程序员们奉为经典。
GoF (Gang of Four,四人组, 《Design Patterns: Elements of Reusable Object-Oriented Software》/《设计模式》一书的作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)并没有把MVC提及为一种设计模式,而是把它当做“一组用于构建用户界面的类集合”。在他们看来,它其实是其它三个经典的设计模式的 演变:观察者模式(Observer)(Pub/Sub), 策略模式(Strategy)和组合模式(Composite)。根据MVC在框架中的实现不同可能还会用到工厂模式(Factory)和装饰器 (Decorator)模式。
正如我们所讨论的,models表示应用的数据,而views处理屏幕上展现给用户的内容。为此,MVC在核心通讯 上基于推送/订阅模型。当一个model变化时它对应用其它模块发出更新通知(“publishes”),订阅者 (subscriber)——通常是一个Controller,然后更新对应的view。观察者——这种自然的观察关系促进了多个view关联到同一个 model。
感兴趣的开发人员想更多的了解解耦性的MVC(根据不同的实现),这种模式的目标之一就是在一个主题和它的观察者之间建立一对多的关 系。当这个 主题改变的时候,它的观察者也会得到更新。Views和controllers的关系稍微有点不同。Controllers帮助views对不同用户的输 入做不同的响应,是一个非常好的策略模式例子。
那么,何为框架?
框架通常定义了应用体系的整体结构类和对象的关系等等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,框架强调设计复用,因此框架设计中必然要使用设计模式。
MVC不是设计模式,应该是框架/架构模式,因为它的定义是抽象的,没有足够的细节描述使你直接去实现,而只能根据MVC的概念和思想,用几个设计模式组合实现。
可以这么说,在JavaEE中MVC框架的实现有 struts,springmvc等。
从广义的设计模式来说,优秀的思想/经验都可以称为模式,MVC有何尝不是一种优秀的思想和经验呢?
其实有些说法就像禅,说多了反而让人不理解。
有些事情何必太认真,认真你就输了。
是什么其实不重要,重要的是你懂,就够了。
参考:http://damoqiongqiu.iteye.com/blog/1949256
相关推荐
mvc设计模式的讲解与使用 常见WEB开发语言的MVC框架 jsp+servlet+javaBean实现MVC –流程 jsp+servlet+javaBean实现MVC –技术点 PHP与JAVA在MVC模式上的不同之处 MVC设计模式的优势 MVC设计模式的缺点 MVC结构提供...
多数据库进行增删查改,使用JDBC连接数据库,采用mvc设计模式,无任何框架,添加日志方便查看语句,简单易学,适合初学者
MVC设计模式下Web开发框架的研究与应用.nh 注意事项: nh文件打开软件:CAJViewer 下载该软件即可使用它打开本论文 CAJViewer6.0全文浏览器是中国期刊网的专用全文格式阅读器截至2005年5月为止的最新版 ...
mvc模式与asp.net参考资料 mvc框架概述
基于MVC设计模式开发出的简单PHP框架,对于想精通MVC设计模式的同学来说,非常有帮助
这是一个word文档,详细解释了mvc架构的设计思路
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂 第二部分
本系统运用MVC设计模式,采用STRUTS框架、HIBERNATE框架相结合的面向对象的开发方法,采用JSP作为显示页面综合运用标签语言,以MYSQL做为后台数据库 应用技术:java|jsp+ mysql 开发工具:Myeclipse或Eclipse、jdk、...
这是一个根据MVC模式开发的一个小型框架。 说明: framework文件是框架文件,可将其重命名成你的项目名 Index.php文件是项目的入口文件 Config目录下的config文件配置了数据库的连接,网站url的访问方式 Control...
基于设计模式的一种MVC框架的实现
基于Java Web MVC框架的学生成绩管理系统设计.pdf
基于MVC框架下房产营销管理系统的设计与实现.docx基于MVC框架下房产营销管理系统的设计与实现.docx基于MVC框架下房产营销管理系统的设计与实现.docx基于MVC框架下房产营销管理系统的设计与实现.docx基于MVC框架下...
Model-View-Controller (MVC) Design Pattern
MVC模式在系统框架设计中的研究与应用2005.nh
这是个网上书城项目,采用mvc的设计模式编写,前后端都分离,代码比较易懂,适合刚刚学完javaweb的同学,也适合正在学习javaweb基础的同学,完成这个之后,就可以学习框架了
基于MVC模式的Struts框架的研究与应用,李梅,宋泽海,随着面向对象技术、Web技术和J2EE技术的发展,软件框架技术在Web开发中得到了广泛应用。Struts作为一个开源的Web层框架,是MVC及J2EE若干�
javaee高级开发手册,包含了代码编写规范,架构设计,代码优化,设计模式
MVC设计模式,实现学生信息管理(增删改查)使用MYSQL、C3P0、DBUtils