第3篇 工厂方法模式

1.什么是工厂方法模式

         在简单工厂模式中,我们有一个物品的抽象类,然后我们需要具体的物品的时候,通过一个工厂类来创造这些物品。而在工厂方法模式中,我们把工厂也变成抽象的。当需要生产某个物品的时候我们再建一个专门生产该物品的工厂类,这个工厂类实现工厂类,只负责生产某个具体的物品。物品,具体物品,工厂,生产具体物品的工厂四者的关系为:


                                                       


2.工厂方法模式与简单工厂模式的区别

          与简单工厂模式不同的是,工厂方法模式在生产物品的时候不再只是在一个工厂类中生产了。而是每个不同的物品都有一个生产他的工厂类。所有的工厂类都实现同一个工厂类。

3.工厂方法模式的定义

         首先定义产品类:

Package com.john;
public interface Product {
void operate();
}

      然后,我们这里定义两个具体的产品,分别是A产品,B产品:

package com.john;
public class AProduct implements Product{
public void operate() {
System.out.println("operate as A");
}
}

package com.john;
 
public class BProduct implements Product {
 
public void operate() {
System.out.println("operate as B");
}
}

          然后定义工厂类,这个工厂类是抽象的,他只是规定了所有的工厂类必须实现哪些方法才能满足作为工厂的要求:

package com.john;
public interface Factory {
Product createProduct();
}

     最后是生产两个具体产品的工厂类(A工厂类和B工厂类):

package com.john;
 
public class AFactory implements Factory {
 
public Product createProduct() {
return new AProduct();
}
 
}
 
package com.john;
 
public class BFactory implements Factory {
 
public Product createProduct() {
return new BProduct();
}
 
}

3.总结

         简单工厂模式将所有产品的创建都放在了一个类中,而工厂方法模式就避免了这种情况!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值