框架
软件框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
设计模式
软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
框架与设计模式的区别
1、框架是一种实际的半成品软件,给软件开发者完成了一些通用软件开发工作,软件开发者只需在框架中业务逻辑部分进行编程即可,而设计模式只是一种软件设计解决方案,并不是软件,也并未实现。
2、框架实现代码重用,设计模式实现设计重用。
3、框架是具体、物理层面的实现,设计模式是抽象、逻辑层面的概念。设计模式的思想可以在框架中得到利用,往往也就是这样。
4、框架注重一个系统整体设计问题的解决,设计模式注重单一软件设计问题的解决,因此一个框架往往用到许多个设计模式,框架的范畴大于设计模式的范畴。
5、框架面向具体语言,如C++、C#、JAVA,设计模式不面向具体语言
MVC是框架还是设计模式的争论
总之,就我看来,MVC如果作为框架,那么还是太过,应该称为框架模式(某种具体框架遵照的模式),毕竟MVC相对于SSH,SSM来说,还是理论化强一些。如果作为狭义设计模式(23种单一设计模式),还是不够,因为MVC掺杂了多种狭义设计模式,应该作为广义设计模式(编程惯用方法)。
所以有些人说MVC是框架,有些人说设计模式,我觉得都没有问题,本身各人对名词的理解角度不同。