java工厂模式_理解java工厂模式

3d9a488a27fc4cd5896c74ffc6942c35.png
java的设计模式 常用 分为三大类:
  1. 创建型模式(5种) :工厂模式,单例模式
  2. 结构性模式(7种) :适配器模式,代理模式
  3. 行为型模式(11种):策略模式,观察者模式

1.1常用的工厂模式是静态工厂,用static方法,作为一种类似于常见的工具类Utils等

一般情况下工厂类不需要实例化。

//定义一个接口
public interface food{}
//都实现这个接口,因为这家工厂做的时同样的事情,但是可以有不同的结果。
class A implements food{}
class B implements food{}
public class StaticFactory {
//构造函数私有化
    private StaticFactory(){}
    public static food getA(){  return new A(); }
    public static food getB(){  return new B(); }
}

class Client{
    public void get(String name){
        food x = null ;
        if ( name.equals("A")) {
            x = StaticFactory.getA();
        }else {
             x = StaticFactory.getB();
        }
    }
}

1.1 抽象工厂模式,当涉及到产品族的时候,就需要引入抽象工厂模式了。

  1. 举个经典例子就懂了,组装一台电脑,需要基本的东西如:CPU+主板等,

但是这些东西又不是一家的,组装起来可能会出现,各种兼容问题,就像Intel 家产的 CPU 和 AMD 产的主板不能兼容使用,这时就想假如这家工厂都又CPU+主板+显卡等,那不就好了,就不会出现兼容问题,现在很流行套装,啥分布式的那一套,云计算套装,hadoop生态圈等,就想工厂,用户不需要知道,该怎么解决兼容问题。

public static void main(String[] args) {
//假设有一个厂是AMD的,那就可以这样了
    ComputerFactory amd = new AmdFactory();
    // 从这个大厂造 CPU
    CPU cpu = amd.makeCPU();
    // 从这个大厂造主板
    MainBoard board = amd.makeMainBoard();
    // 将CPU、主板组装在一起
    Computer result = new Computer(cpu, board);
}

后期:加深知识点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值