工厂模式是用来创建对象的(工厂)。
抽象工厂就是工厂的工厂- -#
适用场景:如果创建实例的时做的事情不是如赋值这样简单的事,可能是很长一段代码的操作,如果也写入构造函数中,那明显的就违背了面向对象的原则.封装(Encapsulation)和分派(Delegation);此时就需要将创建实例的责任与使用实例的责任分开。
抽象工厂结构图:
优点:
i. 具体的部件类与使用和初始化它们的类是独立的,因为抽象工厂类封装了创建部件对象的处理;
ii. 容易扩展;
iii. 可以使用户类通过产品的特征来使用具体的产品;
工厂模式的一个经典的实际应用就是spring的BeanFactory,它负责创建和分发bean,同时还负责在实例化bean时创建bean之间的关系,bean在被使用到的时候被创建,我们在使用的时候完全不去关心它是怎么被创建的,而只需直接使用我们需要的bean的实例。
设计模式学习之--Factory
最新推荐文章于 2024-06-15 17:23:39 发布