相对来讲,抽象工厂模式比建造者模式的尺度要大,它关注产品总体,而建造者模式关注构建过程,所以建造者模式能够很容易地构建出一个崭新的产品,只要导演类可以提供具体的工艺流程。也正由于如此,二者的应用场景大相径庭,若是但愿屏蔽对象的建立过程,只提供一个封装良好的对象,则能够选择抽象工厂方法模式。而建造者模式能够用在构件的装配方面,如经过装配不一样的组件或者相同组件的不一样顺序,能够产生出一个新的对象,它能够产生一个很是灵活的架构,方便地扩展和维护系统。
状态模式和策略模式的区别:
它们的UML图是同样的,但意图却彻底不同,策略模式是让用户指定更换的策略算法,而状态模式是状态在知足必定条件下的自动更换,用户没法指定状态,最多只能设置初始状态。