前言:不断学习就是程序员的宿命

一、概述

设计模式六大原则之工厂方法模式与抽象工厂模式

案例需求:一个手机的项目:要便于手机种类的扩展,便于维护

  (1)手机的种类很多(比如华为、小米、oppo等)

  (2)手机的制作(prepare,produce,box)

  (3)完成手机店订购的功能

二、传统模式

public class OrderPhone {
    // 构造器
    public OrderPhone() {
        Phone phone = null;
        String orderType; // 订购手机的类型
        do {
            orderType = getType();
            if (orderType.equals("xiaomi")) {
                phone = new XiaomiPhone();
                phone.setName(" 小米手机 ");
            } else if (orderType.equals("huawei")) {
                phone = new HuaweiPhone();
                phone.setName(" 华为手机 ");
            } else if (orderType.equals("pepper")) {
                phone = new OppoPhone();
                phone.setName("oppo手机");
            } else {
                break;
            }
            //输出pizza 制作过程
            phone.prepare();
            phone.produce();
            phone.box();

        } while (true);
    }
    // 写一个方法,可以获取客户希望订购的手机种类
    private String getType() {
        try {
            BufferedReader strin = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("input 手机 种类:");
            String str = strin.readLine();
            return str;
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }
    }
}
传统方式

相关文章:

  • 2022-02-13
  • 2021-08-12
  • 2021-06-07
  • 2021-06-03
  • 2021-07-24
  • 2021-11-08
  • 2021-07-01
猜你喜欢
  • 2021-05-30
  • 2022-01-20
  • 2021-07-03
  • 2021-12-19
  • 2022-01-10
  • 2021-09-07
  • 2021-06-23
相关资源
相似解决方案