看了百度百科之后,额MVC到底是个神魔东西啊,是设计模式还是框架,值得探究一下
框架和设计模式的区别
有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。 [7]
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
框架模式有哪些?
框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等
设计模式有哪些?
工厂模式、适配器模式、策略模式等等
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。
设计模式 类库 框架 架构
类库和设计模式的关系就很简单了,类库的实现过程中是直接应用了各种设计模式的。因此按照从小到大的顺序我们排列一下标题提到的这四个名词 。就是 :
设计模式 类库 框架 架构。
如果从作用来讲是个三角形或者V字形的顺序 ,文字描述为 类库会用到设计模式 ,框架会用到类库。架构会用到框架。架构定了。开始做项目的时候还会编写类。还会用到设计模式
java类库就是由一堆java类打包在一起组成的库,封装一些类方便你使用,比如Map,List这种。 Java 的应用程序接口 (API) 以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是 Java 的类库
最后再延伸一点,我认为这四个词是站在编码角度在论述的,另一个角度就是项目的角度,同样也有几个词,从小到大依次是。方法。过程,工程,管理。
简单说一下这四个词背后所代表的概念。
方法 例如TDD,BDD,MDD,DDD ,OOP/OOA,AOP等等
过程,如Scrum,敏捷开发,极限开发瀑布
工程 需求,设计,编码,测试,维护
管理。例如生命周期,里程碑 跟踪,报表,成本核算,绩效考核等等
http://www.360doc.com/content/11/0827/03/3554006_143582742.shtml