设计模式(一)从“简单工厂模式”升级为“工厂方法模式”

工厂模式的引入是为了管理对象的构造,对用户屏蔽构造过程,用户只从工厂拿取新对象。

简单工厂模式

用一个场景介绍简单工厂模式:某工厂想包揽所有产品生产,不仅提供很多不同类型的产品(iPhone 5,6,7...),还时不时生产新类型的产品(三星S8),而且客户不关心产品的类型细节只想使用公共方法。工厂采用如下方式:

  1. 根据客户要求/订单生产出不同产品
  2. 所有产品都由本工厂(类)唯一生产线制造出售(静态方法)
  3. 每增删一种新产品,就直接修改生产逻辑。

实例代码如下

abstract class Phone{
    public abstract void use();
}

class iPhone extends Phone{
    @Override
    public void use(){System.out.print("iPhone");}
}

class S8 extends  Phone{
    @Override
    public void use(){System.out.print("S8");}
}

class PhoneFactory{
    public static Phone Manufacture(String type){
        switch(type){
            case "iPhone":return new iPhone();
            case "S8":return new S8();
            ...
            default: return null;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值