设计模式之——工厂模式

 一、工厂模式

       工厂模式是对简单工厂模式进一步的抽象和推广,工厂模式里产品类对象实例的创建不在一个工厂类中做逻辑判断去完成,而是继承一个抽象工厂类,具体的产品类对象实例创建是抽象工厂的子类去完成。这样一来,当工厂中增加新的产品时,不仅要去实现产品的子类,而且也要实现工厂的子类。貌似这样一来比较麻烦,实际这正好符合了设计模式里面的开发—封闭原则。对比简单工厂模式,当工厂中增加新的产品时,不仅要去实现产品的子类,而且要去修改工厂类中的逻辑。(这样一来就破坏了开发—封闭原则)。

二、工厂模式的UML图

        工厂模式中由以下4中角色组成:

       1)抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。

       2)具体工厂角色:它含有和具体业务逻辑有关的代码。职责是创建对应的具体产品的对象。

       3)抽象产品角色:它是具体产品继承的父类或者是实现的接口。

       4)具体产品角色:具体工厂角色所创建的对象就是此角色的实例。

     UML图:

   

三、代码实现

  1.抽象工厂类:

  

    2.抽象产品类:

   

   3.具体的产品类实现:

  

 

4 具体的工厂类实现

5 客户端测试

 

工厂模式到这里就讲完了,欢迎小伙伴们来一起讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值