工厂方法模式

来源:互联网 发布:股权激励的公司知乎 编辑:程序博客网 时间:2024/05/01 23:05

工厂方法模式去掉了简单工厂模式中的工厂方法的静态属性,使得它可以被子类继承。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类分担。

组成

抽象工厂角色:
模式的核心,是具体工厂角色必须实现的接口或者必须继承的父类。
具体工厂角色:
它含有具体的业务逻辑代码,由应用程序调用来创建对应的具体产品。
抽象产品角色:
它是具体产品集成的父类或者是实现的接口。
具体产品角色:
为具体工厂角色所创建的对象。
实例

接简单工厂的例子,我们的暴发户突然对司机起了同情心,决定组个司机小队,每辆车由专门的司机负责。

     

优点 

工厂方法模式使结构变得灵活,当有新的产品产生时,只要按照抽象产品角色、抽象工厂角色的结构也是符合开闭原则的。

缺点

当产品种类非常多时,会出现大量的与之对应的工厂对象。
 

原创粉丝点击