抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
抽象工厂的好处是易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。
第二个好处设计它让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操纵实例,产品的具体类名也被具体工厂的实现分离,不会出现在客户代码中。
但是抽象工厂需要增加新的功能,需要添加和修改好几个类才能实现,大批量的改动显得十分丑陋。(可以使用简单工厂与反射改进抽象工厂解决这个问题)
网友评论