装饰者模式,从吃黄焖鸡开始说起
黄焖鸡米饭最热卖的外卖之一,国人都喜欢吃,吃过黄焖鸡米饭的应该都知道,除了黄焖鸡米饭主体外,还可以添加各种配菜,如土豆、香菇、鹌鹑蛋、青菜等。如果需要你来设计一套黄焖鸡米饭结账系统,你该如何设计呢? 前置条件:主体:黄焖鸡米饭 价格:16,配菜:土豆 价格:2、香菇 价格:2、鹌鹑蛋 价格:2、青菜 价格:1.5 这还不简单?看我的,你随手就来了下面这段代码。 public class HuangMenJiMiFan { // 黄焖鸡价格 private double huangMenJiPrice = 16D; // 土豆价格 private double potatoPrice = 2D; // 鹌鹑蛋价格 private double eggPrice = 2D; // 香菇价格 private double mushroomPrice = 2D; // 青菜价格 private double vegPrice = 1.5D; // 总价格 private double totalPrice = 0D; // 订单描述 private StringBuilder desc = new StringBuilder("黄焖鸡米饭 "); // 是否加土豆 private boolean hasPotato = false; // 是否加鹌鹑蛋 private boolean