框架是构成一类特定软件可复用设计的一组相互协作的类。例如,一个框架能帮助建立适合不同领域的图片编辑器,像艺术绘画/音乐作曲和机械CAD。
框架规定了你的应用的体系结构,它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。框架记录了其应用领域的共同的设计决策。因而框架更强调设计复用,尽管框架常包括具体的立即可用的子类。
模式与框架的区别,三方面:
1)设计模式比框架更抽象。 框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架的威力在于它们能够使用程序设计语言写出来,它们不仅能被学习,也能被直接执行和复用。
2)设计模式是比框架更小的体系结构元素。 一个典型的框架包括了多个设计模式,而反之觉非如此。
3)框架比设计模式更加特例化 框架总是针对一个特定的应用领域,一个图形编辑器框架可能被用于一个工厂模拟,但它不会被错认为是一个模拟框架。