在javaEE中的开源框架太多了,其实每个框架大部分都是有一些经典的模式演变而来。对大家最熟悉了应该是Struts框架,我们知道它是典型的MVC设计模式的化身。还有我们最熟悉的,也是比较流行的框架Spring。它其实是工厂模式和单例模式的充分应用。框架和模式到底有什么关系呢?
      框架是一组相互协作的类,它构成了某类特定软件的可复用设计。框架规定了应用体系结构,它定义了整体结构,类,和对象的分割,各部的主要责任,类,对象怎么协作,以及控制流程。框架预定义了这些设计参数。以便于应用设计者或实现者能集中精力于应用本身的细节,因而框架更加强调设计复用。
     模式其实就是解决某一类问题的方法论。把解决问题的方法总结归纳到理论高度,这就是模式。
     框架和模式的主要区别:
 <1>.模式比框架更抽象,框架能够用代码表示,而模式只有其应用实例才能表示为代码。框架的威力在于它们能够使用程序设计语言写出来,它们不仅能被学习,也能被直接执行和复用。而模式在每次被复用时,都需要实现。
<2>.模式是比框架更小的体系结构,一个典型的框架包括了多个模式,而反之并不如此。
<3>.框架比模式更加特例化,框架总是针对一个特定的应用领域。而模式几乎能被用于任何应用。