框架和设计模式总容易混淆,其实他们之间还是有区别的,
框架注重代码的重用,而设计模式注重的是设计模式的重用,架构则介于前面二者之间,部分代码重用,部分设计模式重用,有时候分析的原理也相同。在软件开发的过程中,有三种级别的重用:内部重用,即在内部运用中抽象代码块的重用;代码重用:即将通用代码封装成函数库或者工具集,随时需要随时调用;运用框架的重用:专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。
1、设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;
2、框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。
框架:
java语言的SSH、Struts、Hibernate、Spring;C++语言的QT、gtk、MFC;PHP语言的 smarty(MVC模式),python语言的django(MTV模式)等等.
框架模式:
MVC、MTV、MVP、CBD、ORM等等。
设计模式:
工厂模式、适配器模式、策略模式等等。
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。