抽象工厂模式

抽象工厂模式
抽象工厂模式是将一个简单东西变为复杂的东西,但是这样的可以方便以后的扩展,实现开闭原则,需要扩展只需要增加代码,不需要需改以前的代码。
抽象工厂类:负责加工产品的工厂,下面还有具体的工厂类
抽象产品类:一个产品的总称 。下面还有具体实现产品类
具体实现类:相当于客户端的调用。
以手机为例:
抽象工厂:
相当于一个手机总产,负责接收订单
public interface IFactory {
MB create();
}

工厂的具体实现类:
三星手机:
public class UnderSanXingFactory implements IFactory{

@Override
public ShouJi create() {
    // TODO Auto-generated method stub
    return new Sanxing();
}

}

小米手机:
public class UnderXiaoMiFactory implements IFactory{

@Override
public ShouJi create() {
    // TODO Auto-generated method stub
    return new XiaoMi();
}

}
每个工厂负责生产具体的手机,以后扩展只需要实现抽象工厂类,即可!

抽象具体类:

相当于一个手机的总称呼:

public class ShouJi{

public ShouJi() {
    // TODO Auto-generated constructor stub
}

}

手机具体的分类:
三星:
public class SanXing extends ShouJi{
public void createShouji(){
System.out.println(“SanXing”);
}
}
小米
public class XiaoMi extends ShouJi{
public void createShouji(){
System.out.println(“XiaoMi”);
}
}
要增加一个手机,只要继承手机类即可!!

客户端的调用:

public class FactoryMain {
public static void main(String[] args) {
// 调用生产三星手机
IFactory factory = new UndeSanxingFactory();
SanXing sanXing= (SanXing) factory.create();
sanXing.create();
// 调用生产小米手机
IFactory iFactory = new UnderXiaoMiFactory();
XiaoMi xiaoMi= (XiaoMi) iFactory.create();
xiaoMi.createShouJi();
}
}

这样既可以完成一个抽象工厂!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值