From 35b551d5acd06c6b7aeacef3c4df2173e11ffcef Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:08:50 +0800 Subject: [PATCH 01/22] Delete BeerOpener.java --- BeerOpener.java | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 BeerOpener.java diff --git a/BeerOpener.java b/BeerOpener.java deleted file mode 100644 index 594b594..0000000 --- a/BeerOpener.java +++ /dev/null @@ -1,9 +0,0 @@ -package code; - -public class BeerOpener implements DrinkOpener { - - @Override - public void Open() { - System.out.println("class BeerOpener:method Open:服务员为您打开了啤酒!"); - } -} From 6d1ee110cb7f642bca07660beb39d499e0313354 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:09:16 +0800 Subject: [PATCH 02/22] Delete Cook.java --- Cook.java | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 Cook.java diff --git a/Cook.java b/Cook.java deleted file mode 100644 index b29b1e9..0000000 --- a/Cook.java +++ /dev/null @@ -1,20 +0,0 @@ -package code; - -public class Cook extends Employee { - //这里可能需要发生变化,具体变化来自于cook的其他属性,形参改变 - public Cook(Order order){ - this.order=order; - this.order.addEmploy(this); - } - - @Override - public void update() { - if(order.getOrderState()==0) - //这里需要get cook的名字 - System.out.println("class Cook: method update:接受到新订单!厨师开始做菜"); - else - - System.out.println("class Cook: method update:订单完成!厨师等待服务员接菜"); - } - -} From aad3214c66143713950e36e275ad1a2034416c49 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:09:38 +0800 Subject: [PATCH 03/22] Delete DrinkOpener.java --- DrinkOpener.java | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 DrinkOpener.java diff --git a/DrinkOpener.java b/DrinkOpener.java deleted file mode 100644 index 506ca11..0000000 --- a/DrinkOpener.java +++ /dev/null @@ -1,5 +0,0 @@ -package code; - -public interface DrinkOpener { - void Open (); -} From 844bfd50823c4610578d293c97e779c0737f4a2a Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:09:51 +0800 Subject: [PATCH 04/22] Delete Employee.java --- Employee.java | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 Employee.java diff --git a/Employee.java b/Employee.java deleted file mode 100644 index 576d0fc..0000000 --- a/Employee.java +++ /dev/null @@ -1,6 +0,0 @@ -package code; - -public abstract class Employee { - protected Order order; - public abstract void update(); -} From 4bd19c45beb95b34ad6d78235e8eccd515b5eae5 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:10:05 +0800 Subject: [PATCH 05/22] Delete Item.java --- Item.java | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 Item.java diff --git a/Item.java b/Item.java deleted file mode 100644 index e7f20d9..0000000 --- a/Item.java +++ /dev/null @@ -1,18 +0,0 @@ -package code; - -public class Item { - private String name; - private int price; - public Item(String name,int price) { - this.name=name; - this.price=price; - } - - public String getName() { - return name; - } - - public int getPrice() { - return price; - } -} From f5b086b1573ebb8ce84b8d1c3291ee62cc5312f6 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:10:18 +0800 Subject: [PATCH 06/22] Delete Menu.java --- Menu.java | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 Menu.java diff --git a/Menu.java b/Menu.java deleted file mode 100644 index a85f1b7..0000000 --- a/Menu.java +++ /dev/null @@ -1,16 +0,0 @@ -package code; - -import java.util.ArrayList; -import java.util.List; - -public class Menu { - private static Menu menu=new Menu(); - private List menuList=new ArrayList<>(); - private Menu() { - Item dish=new Item("burger",5); - menuList.add(dish); - } - public List getMenu() { - return menuList; - } -} From 846d66a7d986bfdf9957e9c04a8523a7d78a0a59 Mon Sep 17 00:00:00 2001 From: zhujitao <2417344724@qq.com> Date: Sun, 27 Oct 2019 22:10:30 +0800 Subject: [PATCH 07/22] changed --- DesignPatternProject/src/edu/tongji/designpattern/Main.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 26a332c..305fc34 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -67,6 +67,8 @@ public static void main(String[] args) { System.out.println(" "); //资源文件不需要从磁盘加载 source.show(); +//asxghasjkahxask + } } From 7ab0a13e1c935d14eece052bbaf67d11cbfaa5a4 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:10:35 +0800 Subject: [PATCH 08/22] Delete OpenerMaker.java --- OpenerMaker.java | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 OpenerMaker.java diff --git a/OpenerMaker.java b/OpenerMaker.java deleted file mode 100644 index 1fc25d3..0000000 --- a/OpenerMaker.java +++ /dev/null @@ -1,20 +0,0 @@ -package code; - -import code.BeerOpener; -import code.DrinkOpener; - -public class OpenerMaker { - private DrinkOpener beerOpener; - private DrinkOpener redWineOpener; - public OpenerMaker(){ - beerOpener = new BeerOpener(); - redWineOpener= new RedWineOpener(); - } - public void openBeer() { - beerOpener.Open(); - } - public void openRedWine() { - redWineOpener.Open(); - } - -} From 6b67ad15a8a7361902edb7d9752710a34667f3b6 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:10:50 +0800 Subject: [PATCH 09/22] Delete Order.java --- Order.java | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 Order.java diff --git a/Order.java b/Order.java deleted file mode 100644 index c5a2c97..0000000 --- a/Order.java +++ /dev/null @@ -1,26 +0,0 @@ -package code; - -import java.util.ArrayList; -import java.util.List; - -public class Order { - private List employees=new ArrayList(); - public List items=new ArrayList(); - private int orderState; - public int getOrderState() { - return orderState; - } - public void setOrderState(int state){ - this.orderState=state; - notifyAllEmployees(); - } - public void addEmploy(Employee e){ - employees.add(e); - } - - private void notifyAllEmployees() { - for (Employee employee : employees) { - employee.update(); - } - } -} From 694690bf492ad5c7ea74a2ad776265304c8c5d7c Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:11:12 +0800 Subject: [PATCH 10/22] Delete RedWineOpener.java --- RedWineOpener.java | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 RedWineOpener.java diff --git a/RedWineOpener.java b/RedWineOpener.java deleted file mode 100644 index edf3b9f..0000000 --- a/RedWineOpener.java +++ /dev/null @@ -1,11 +0,0 @@ -package code; - -import code.DrinkOpener; - -public class RedWineOpener implements DrinkOpener { - - @Override - public void Open() { - System.out.println("class RedWineOpener:method Open:服务员为您打开了红酒!"); - } -} From 15a998a3e600ceee2cd3eb4d2b0d59e8ea899a13 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Sun, 27 Oct 2019 22:11:27 +0800 Subject: [PATCH 11/22] Delete Waiter.java --- Waiter.java | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 Waiter.java diff --git a/Waiter.java b/Waiter.java deleted file mode 100644 index 033ac20..0000000 --- a/Waiter.java +++ /dev/null @@ -1,29 +0,0 @@ -package code; -public class Waiter extends Employee { - - public OpenerMaker openerMaker; - public Waiter(Order order){ - this.order=order; - this.order.addEmploy(this); - } - - @Override - public void update() { - if(order.getOrderState()==0) - System.out.println("class Waiter: method update:新订单创建!服务员等待接菜"); - else - System.out.println("class Waiter: method update:订单完成!服务员开始上菜"); - } -public void getDrinkList(Order order){ - openerMaker=new OpenerMaker(); - for (Item item : order.items) { - if (item.getName() == "beer" || item.getName() == "redwine") { - if (item.getName() == "beer") { - openerMaker.openBeer(); - } - else - openerMaker.openRedWine(); - } - } -} -} From a12f4e0ef0e28470a33f1f32f4bfef2432104402 Mon Sep 17 00:00:00 2001 From: zhujitao <2417344724@qq.com> Date: Sun, 27 Oct 2019 22:53:49 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E6=9C=B1=E7=BB=A7=E6=B6=9B=20=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../Business/AdaptorDemo/Coupon.java | 17 +++++ .../Business/AdaptorDemo/CouponA.java | 23 ++++++ .../Business/AdaptorDemo/CouponB.java | 21 +++++ .../Business/AdaptorDemo/CouponC.java | 21 +++++ .../Business/AdaptorDemo/CouponN.java | 24 ++++++ .../Business/AdaptorDemo/Discount.java | 11 +++ .../Business/AdaptorDemo/DiscountAdapter.java | 28 +++++++ .../Business/AdaptorDemo/RealDiscount.java | 24 ++++++ .../ChainofResponsibilityDemo/Complaint.java | 76 +++++++++++++++++++ .../DecoratorDemo/CashierDecorator.java | 26 +++++++ .../DecoratorDemo/VIPCashierDecorator.java | 45 +++++++++++ .../Business/PrototypeMementoDemo/Item.java | 36 +++++++++ .../PrototypeMementoDemo/Memento.java | 35 +++++++++ .../Business/PrototypeMementoDemo/Menu.java | 58 ++++++++++++++ .../PrototypeMementoDemo/OrderClone.java | 56 ++++++++++++++ .../ClassDesign/Order/Order.java | 47 ++++++++++++ .../ClassDesign/Person/Cashier.java | 32 +++++++- .../ClassDesign/Person/Manager.java | 21 ++++- .../ClassDesign/Person/Waiter.java | 16 +++- .../src/edu/tongji/designpattern/Main.java | 54 ++++++++++++- 21 files changed, 659 insertions(+), 14 deletions(-) create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponA.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponN.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/CashierDecorator.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Memento.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/OrderClone.java diff --git a/.idea/misc.xml b/.idea/misc.xml index d5d79e0..b4cf3d8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.java new file mode 100644 index 0000000..6e62354 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.java @@ -0,0 +1,17 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo; +/* + * created by zhujitao + * 2019/10/22 + * A类优惠卷,可以享受6.8折优惠 + * */ + +public interface Coupon { + + final String type = ""; + final double discountPercentage = 0; + + public double returnDiscount(); + + public String getType(); + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponA.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponA.java new file mode 100644 index 0000000..2b57bc9 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponA.java @@ -0,0 +1,23 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo; + +/* + * created by zhujitao + * 2019/10/22 + * A类优惠卷,可以享受6.8折优惠 + * */ + +public class CouponA implements Coupon { + + final String type = "A"; + final double discountPercentage = 0.68; + + @Override + public String getType() { + return type; + } + + @Override + public double returnDiscount() { + return discountPercentage; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.java new file mode 100644 index 0000000..9d09197 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.java @@ -0,0 +1,21 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo;/* + * created by zhujitao + * 2019/10/22 + * B类优惠卷,可以享受8.8折优惠 + * */ + +public class CouponB implements Coupon { + + final String type = "B"; + final double discountPercentage = 0.88; + + @Override + public String getType() { + return type; + } + + @Override + public double returnDiscount() { + return discountPercentage; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.java new file mode 100644 index 0000000..076e0f7 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.java @@ -0,0 +1,21 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo;/* +* created by zhujitao +* 2019/10/22 +* C类优惠卷,可以享受9.8折优惠 +* */ + +public class CouponC implements Coupon { + + final String type = "A"; + final double discountPercentage = 0.98; + + @Override + public String getType() { + return type; + } + + @Override + public double returnDiscount() { + return discountPercentage; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponN.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponN.java new file mode 100644 index 0000000..64e9c17 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponN.java @@ -0,0 +1,24 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo; + +/* + * created by zhujitao + * 2019/10/22 + * N类优惠卷,就是没有优惠卷,不享受任何优惠 + * */ + +public class CouponN implements Coupon { + + final String type = "N"; + final double discountPercentage = 0.0; + + @Override + public String getType() { + return type; + } + + @Override + public double returnDiscount() { + return discountPercentage; + } +} + diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.java new file mode 100644 index 0000000..5529a63 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.java @@ -0,0 +1,11 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo;/* + * created by zhujitao + * 2019/10/22 + * 优惠卷适配器的接口 + * */ + +public interface Discount { + + public double getDiscount(); + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.java new file mode 100644 index 0000000..a32f79b --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.java @@ -0,0 +1,28 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo;/* + * created by zhujitao + * 2019/10/22 + * 优惠卷的适配器,通过输入的字符串返回不同的折扣比例 + * */ + +public class DiscountAdapter implements Discount { + + Coupon coupon = null; + private String couponType = ""; + + public DiscountAdapter(String couponType){ + this.couponType = couponType; + } + + @Override + public double getDiscount() { + if(couponType.equals("A")){ + coupon = new CouponA(); + }else if(couponType.equals("B")){ + coupon = new CouponB(); + }else if(couponType.equals("C")){ + coupon = new CouponC(); + } + return coupon.returnDiscount(); + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.java new file mode 100644 index 0000000..e6a0b74 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.java @@ -0,0 +1,24 @@ +package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo; + +/* + * created by zhujitao + * 2019/10/22 + * 实际得到具体折扣的类,通过输入的字符串返回不同的折扣比例 + * */ + +public class RealDiscount implements Discount { + + DiscountAdapter discountAdapter = null; + String couponType = ""; + + + public RealDiscount(String couponType){ + this.couponType = couponType; + } + + @Override + public double getDiscount() { + discountAdapter = new DiscountAdapter(couponType); + return discountAdapter.getDiscount(); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.java new file mode 100644 index 0000000..d8fff9d --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.java @@ -0,0 +1,76 @@ +package edu.tongji.designpattern.ClassDesign.Business.ChainofResponsibilityDemo; + +/* + * created by zhujitao + * 2019/10/22 + * 责任链模式里面的投诉类 + * */ + + +import edu.tongji.designpattern.ClassDesign.Person.Employee; +import edu.tongji.designpattern.ClassDesign.Person.Manager; +import edu.tongji.designpattern.ClassDesign.Person.Waiter; + +public class Complaint { + + Manager manager; + Waiter waiter; + + Employee employee; + + public int level; + + public Complaint(int level, Manager manager, Waiter waiter){ + this.level = level; + this.manager =manager; + this.waiter = waiter; + } + + //责任链模式,将投诉通过类型进行分析,如果是低级投诉就 + //使用服务员来解决,高级投诉使用经理来解决 + //假设投诉登记为1时服务员前来处理,否则的话是由经理来处理 + //最终默认投诉会被处理 + public void setCurHanlder(){ + if (level==1){ + employee = waiter; + }else { + employee = manager; + } + } + + public void settleProblem(){ + employee.settleComplaint(); + } + + public Employee getEmployee() { + return employee; + } + + public int getLevel() { + return level; + } + + public Manager getManager() { + return manager; + } + + public Waiter getWaiter() { + return waiter; + } + + public void setEmployee(Employee employee) { + this.employee = employee; + } + + public void setLevel(int level) { + this.level = level; + } + + public void setManager(Manager manager) { + this.manager = manager; + } + + public void setWaiter(Waiter waiter) { + this.waiter = waiter; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/CashierDecorator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/CashierDecorator.java new file mode 100644 index 0000000..34361e8 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/CashierDecorator.java @@ -0,0 +1,26 @@ +package edu.tongji.designpattern.ClassDesign.Business.DecoratorDemo; + +/* + * created by zhujitao + * 2019/10/22 + * 收银员类的抽象装饰类 + * */ + +import edu.tongji.designpattern.ClassDesign.Person.Cashier; + +public abstract class CashierDecorator { + + Cashier decoratedCashier; + + public CashierDecorator(Cashier decoratedCashier){ + this.decoratedCashier = decoratedCashier; + } + + public boolean settleAccount(){ + boolean flag = false; + //这里执行结账操作,结账成功返回true + decoratedCashier.settleAccount(); + return flag; + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.java new file mode 100644 index 0000000..3ab9cce --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.java @@ -0,0 +1,45 @@ +package edu.tongji.designpattern.ClassDesign.Business.DecoratorDemo; + +/* + * created by zhujitao + * 2019/10/22 + * 收银员类的装饰类的具体的类 + * */ + +import edu.tongji.designpattern.ClassDesign.Person.Cashier; + +import java.util.Scanner; + +public class VIPCashierDecorator extends CashierDecorator { + + //初始化函数 + public VIPCashierDecorator(Cashier decoratedCashier){ + super(decoratedCashier); + } + + @Override + public boolean settleAccount() { + boolean flag = false; + flag = super.settleAccount(); + //在正常结账之后进行VIP推荐服务 + VIPApplication(); + return flag; + } + + public boolean VIPApplication(){ + boolean flag = false; + //在下面询问顾客是否办理VIP,然后执行对应的操作 + System.out.println("您现在还不是VIP用户,需要为您办理VIP专属卡吗?"); + String answer = ""; + Scanner input =new Scanner(System.in); + answer = input.next(); + if(answer.equals("Yes")){ + System.out.println("感谢您的信任,您现在已经是本店的VIP贵宾了,以后请多多支持!"); + }else { + System.out.println("期待您对本店的进一步支持!"); + } + + return flag; + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.java new file mode 100644 index 0000000..4cee933 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.java @@ -0,0 +1,36 @@ +package edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo;/* + * created by zhujitao + * 2019/10/25 + * 代替food的item + * */ + +public class Item { + + private String name; + private double price; + + public Item(String name, double price){ + this.name = name; + this.price = price; + } + + + + //下面是get和set方法 + public double getPrice() { + return price; + } + + public String getName() { + return name; + } + + public void setPrice(double price) { + this.price = price; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Memento.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Memento.java new file mode 100644 index 0000000..725e725 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Memento.java @@ -0,0 +1,35 @@ +package edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo; + +/* + * created by zhujitao + * 2019/10/22 + * 使用单例模式去创建一个类 + * */ + + +import java.util.ArrayList; +import java.util.List; + +public class Memento { + + private List mementoList = new ArrayList(); + + + public boolean addOrderClone(OrderClone orderClone){ + boolean flag = false; + //添加操作 + mementoList.add(orderClone); + return flag; + } + + public OrderClone getOrderClone(int index){ + OrderClone orderClone = mementoList.get(index); + return orderClone; + } + + public int getSize(){ + return mementoList.size(); + } + + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.java new file mode 100644 index 0000000..ea00720 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.java @@ -0,0 +1,58 @@ +package edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo; + +import java.util.ArrayList; +import java.util.List; + +public class Menu { + + private static Menu instance = new Menu(); + + public static Menu getInstance() { + return instance; + } + + private List menuList=new ArrayList<>(); + + String[] foodName = {"生菜沙拉", "番茄沙拉", "黄瓜沙拉", "鱼刺身", "虾刺身", + "鱼寿司", "黄瓜寿司", "黄瓜鱼寿司", "番茄意面","肉意面","蘑菇意面","鱼虾意面", + "油炸鸡","油炸土豆","油炸土豆鸡","肉卷饼","蘑菇卷饼","鸡肉卷饼", + "肉汉堡","芝士汉堡","青菜芝士汉堡", "青菜番茄汉堡", "菠萝肉汉堡", + "芝士披萨", "芝士香肠披萨", "芝士鸡披萨", "鸡蛋煎饼", "巧克力煎饼","鸡蛋草莓煎饼", + "蜂蜜蛋糕", "巧克力蛋糕", "蜂蜜胡萝卜蛋糕", "蒸鱼", "蒸肉", "蒸胡萝卜", "蒸虾", + "香蕉奶昔", "草莓奶昔", "西瓜奶昔", "波罗奶昔", "香蕉波罗奶昔", "烤鸡肉", + "烤肉", "烤蘑菇", "烤蘑菇菠萝", "可乐", "雪碧", "百威啤酒", "酸梅汁"}; + + //对应上面的食物名称 + double[] foodPrice = { + 12, 13, 12, 22, 24, + 27, 25, 25, 22, 24, 26, 28, + 27, 25, 25, 22, 24, 26, + 28,27, 25, 25, 22, + 24, 26, 28,27, 25, 25, + 22, 24, 26, 28,27, 25, 15, + 22, 24, 26, 28,27, 25, + 25, 22, 24, 5, 6, 12, 5}; + + //初始化菜单,向里面添加菜 + private Menu() { + for(int i=0; i getMenu() { + return menuList; + } + + //展示菜单内的菜和价格 + public void showMenu(){ + for(int i=0; i itemList = new ArrayList(); + private double price = 0.0; + + //构造函数,传入的参数是Order,目的是将Order里面需要记录的数据存入OrderClone中 + public OrderClone(Order order){ + this.itemList = order.getItemList(); + this.price = order.getPrice(); + } + + //返回OrderColne的对象,将其存入备忘录中,方便记录 + @Override + public Object clone() { + Object clone = null; + try { + clone = super.clone(); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + return clone; + } + + + //下面是get和set方法 + public List getItemList() { + return itemList; + } + + public double getPrice() { + return price; + } + + public void setItemList(List itemList) { + this.itemList = itemList; + } + + public void setPrice(double price) { + this.price = price; + } + + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java index 8c7da3b..ad03323 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java @@ -1,4 +1,51 @@ package edu.tongji.designpattern.ClassDesign.Order; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; +import edu.tongji.designpattern.ClassDesign.Person.Employee; + +import java.util.ArrayList; +import java.util.List; + public class Order extends AbstractOrder { + + private List itemList = new ArrayList(); + private List employeeList = new ArrayList(); + private double price = 0.0; + private Integer orderState; + + + + //下面是get和set方法 + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public List getEmployeeList() { + return employeeList; + } + + public List getItemList() { + return itemList; + } + + public void setEmployeeList(List employeeList) { + this.employeeList = employeeList; + } + + public void setItemList(List itemList) { + this.itemList = itemList; + } + + public Integer getOrderState() { + return orderState; + } + + public void setOrderState(Integer orderState) { + this.orderState = orderState; + } + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java index 569c02f..274717d 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java @@ -1,14 +1,44 @@ package edu.tongji.designpattern.ClassDesign.Person; +import edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo.RealDiscount; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.AirConditionerAPI; +import edu.tongji.designpattern.ClassDesign.Order.Order; + +import java.text.DecimalFormat; public class Cashier extends Employee { private double temperature; - public Cashier(double temperature,AirConditionerAPI airConditionerAPI) { + + Order order; + String couponType; + RealDiscount realDiscount; + + public Cashier(double temperature,AirConditionerAPI airConditionerAPI, Order order, String couponType) { super(airConditionerAPI); this.temperature=temperature; + + this.order = order; + this.couponType = couponType; + realDiscount = new RealDiscount(couponType); + } + +// public Cashier(Order order, String couponType){ +// this.order = order; +// this.couponType = couponType; +// realDiscount = new RealDiscount(couponType); +// } + + public void settleAccount(){ + //这里执行结账操作,结账成功返回true + if(couponType.equals("N")){ + System.out.println("您本次就餐共花费了"+order.getPrice()+"元,欢迎下次再来"); + }else { + DecimalFormat df = new DecimalFormat( "0.0"); + System.out.println("您的优惠卷是" + couponType + "类型的,可以享受" + df.format(realDiscount.getDiscount() * 10) + "折优惠。"); + System.out.println("您本次就餐原价是" + order.getPrice() + "元,折后价是" + order.getPrice() * realDiscount.getDiscount() + "元。"); + } } @Override diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java index 9b989b2..53ea809 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java @@ -11,6 +11,23 @@ public Manager(double temperature,AirConditionerAPI airConditionerAPI) { this.temperature=temperature; } + //private static Manager instance = new Manager(); + + //public static Manager getInstance() { +// return instance; +// } + + //解决顾客投诉的方法 + @Override + public void settleComplaint(){ + System.out.println("您好,我是本店的经理,请问您有什么问题吗?"); + System.out.println("我已经了解了事情的经过,确实是我们的工作疏忽,我们一定会妥善解决的。"); + System.out.println("您好,我们会为您的本次就餐提供A类优惠卷,在结账时会提供6.8折优惠。"); + System.out.println("非常抱歉,同时祝您就餐愉快!"); + } + + + @Override public void changeTmp() { System.out.println("大堂经理修改空调温度——"); @@ -22,10 +39,6 @@ public void update() { } - @Override - public void settleComplaint() { - - } @Override public void getMessage() { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index f2c817f..2015889 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -8,6 +8,9 @@ public class Waiter extends Employee { private double temperature; + + + public Waiter(double temperature,AirConditionerAPI airConditionerAPI) { super(airConditionerAPI); this.temperature= temperature; @@ -17,6 +20,15 @@ public void getState(Customer customer){ System.out.println("顾客现在的状态是:"); } + + + @Override + public void settleComplaint() { + System.out.println("您好,请问您有什么问题吗?"); + System.out.println("好的,我们会催促后厨尽快为您准备食物,请您稍等片刻!"); + System.out.println("非常抱歉,同时祝您就餐愉快!"); + } + @Override public void changeTmp() { System.out.println("服务员修改空调温度——"); @@ -28,10 +40,6 @@ public void update() { } - @Override - public void settleComplaint() { - - } @Override public void getMessage() { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 305fc34..86c213e 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -4,6 +4,7 @@ import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; import edu.tongji.designpattern.ClassDesign.Person.Customer; import edu.tongji.designpattern.ClassDesign.Person.Employee; import edu.tongji.designpattern.ClassDesign.Person.Manager; @@ -14,7 +15,7 @@ public class Main { public static void main(String[] args) { -//test for StatePattern + //test for StatePattern //初始时根据时间不同来让顾客的状态发生变化 //感觉需要有一个更好的办法 //顾客的点餐、等待、就餐等状态之间的变化需要的参数应当不是同一个 @@ -36,7 +37,7 @@ public static void main(String[] args) { -//test for BridgePattern + //test for BridgePattern //注册不同的职工来调用同一个接口API的不同实体类 Employee waiter1 = new Waiter(24,new FloorAirConditioner()); Employee manager = new Manager(25,new HangingAirConditioner()); @@ -45,7 +46,7 @@ public static void main(String[] args) { manager.changeTmp(); -//test for CompositePattern + //test for CompositePattern //注册的四名顾客 Customer customer1=new Customer("张先生","男",1); Customer customer2=new Customer("张女士","男",1); @@ -67,7 +68,52 @@ public static void main(String[] args) { System.out.println(" "); //资源文件不需要从磁盘加载 source.show(); -//asxghasjkahxask + + + + //打折的测试 + //RealDiscount realDiscount = new RealDiscount("A"); + //System.out.printf("discount = "+realDiscount.getDiscount()); + + //投诉处理的测试 +// Manager manager = Manager.getInstance(); +// Waiter waiter = new Waiter(); +// +// Complaint complaint = new Complaint(1, manager, waiter); +// complaint.setCurHanlder(); +// complaint.getEmployee().settleComplaint(); +// +// Complaint complaint1 = new Complaint(3, manager, waiter); +// complaint1.setCurHanlder(); +// complaint1.settleProblem(); + + //结账处理的测试 +// Order order = new Order(); +// order.setPrice(100.0); +// Cashier cashier = new Cashier(order, "N"); +// +// VIPCashierDecorator vipCashierDecorator = new VIPCashierDecorator(cashier); +// vipCashierDecorator.settleAccount(); + + + //原型和备忘录模式的测试 +// Order order = new Order(); +// order.setPrice(100.0); +// +// OrderClone orderClone = new OrderClone(order); +// +// OrderClone orderClone1 = (OrderClone)orderClone.clone(); +// Memento memento = new Memento(); +// memento.addOrderClone(orderClone1); +// //memento.getOrderClone(1); +// int length = memento.getSize(); +// System.out.println(memento.getOrderClone(length-1).getPrice()); + + + + //输出菜单测试 + Menu menu = Menu.getInstance(); + menu.showMenu(); } From 7b3e6910d481e0019fbb11b2f2ee9bc2fdf31bc6 Mon Sep 17 00:00:00 2001 From: zhujitao <2417344724@qq.com> Date: Mon, 28 Oct 2019 19:22:13 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E6=9C=B1=E7=BB=A7=E6=B6=9B=20=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeerOpener.java | 9 --------- Cook.java | 20 -------------------- DrinkOpener.java | 5 ----- Employee.java | 6 ------ Item.java | 18 ------------------ Menu.java | 16 ---------------- OpenerMaker.java | 20 -------------------- Order.java | 26 -------------------------- README.md | 3 --- RedWineOpener.java | 11 ----------- Waiter.java | 29 ----------------------------- 11 files changed, 163 deletions(-) delete mode 100644 BeerOpener.java delete mode 100644 Cook.java delete mode 100644 DrinkOpener.java delete mode 100644 Employee.java delete mode 100644 Item.java delete mode 100644 Menu.java delete mode 100644 OpenerMaker.java delete mode 100644 Order.java delete mode 100644 README.md delete mode 100644 RedWineOpener.java delete mode 100644 Waiter.java diff --git a/BeerOpener.java b/BeerOpener.java deleted file mode 100644 index 594b594..0000000 --- a/BeerOpener.java +++ /dev/null @@ -1,9 +0,0 @@ -package code; - -public class BeerOpener implements DrinkOpener { - - @Override - public void Open() { - System.out.println("class BeerOpener:method Open:服务员为您打开了啤酒!"); - } -} diff --git a/Cook.java b/Cook.java deleted file mode 100644 index b29b1e9..0000000 --- a/Cook.java +++ /dev/null @@ -1,20 +0,0 @@ -package code; - -public class Cook extends Employee { - //这里可能需要发生变化,具体变化来自于cook的其他属性,形参改变 - public Cook(Order order){ - this.order=order; - this.order.addEmploy(this); - } - - @Override - public void update() { - if(order.getOrderState()==0) - //这里需要get cook的名字 - System.out.println("class Cook: method update:接受到新订单!厨师开始做菜"); - else - - System.out.println("class Cook: method update:订单完成!厨师等待服务员接菜"); - } - -} diff --git a/DrinkOpener.java b/DrinkOpener.java deleted file mode 100644 index 506ca11..0000000 --- a/DrinkOpener.java +++ /dev/null @@ -1,5 +0,0 @@ -package code; - -public interface DrinkOpener { - void Open (); -} diff --git a/Employee.java b/Employee.java deleted file mode 100644 index 576d0fc..0000000 --- a/Employee.java +++ /dev/null @@ -1,6 +0,0 @@ -package code; - -public abstract class Employee { - protected Order order; - public abstract void update(); -} diff --git a/Item.java b/Item.java deleted file mode 100644 index e7f20d9..0000000 --- a/Item.java +++ /dev/null @@ -1,18 +0,0 @@ -package code; - -public class Item { - private String name; - private int price; - public Item(String name,int price) { - this.name=name; - this.price=price; - } - - public String getName() { - return name; - } - - public int getPrice() { - return price; - } -} diff --git a/Menu.java b/Menu.java deleted file mode 100644 index a85f1b7..0000000 --- a/Menu.java +++ /dev/null @@ -1,16 +0,0 @@ -package code; - -import java.util.ArrayList; -import java.util.List; - -public class Menu { - private static Menu menu=new Menu(); - private List menuList=new ArrayList<>(); - private Menu() { - Item dish=new Item("burger",5); - menuList.add(dish); - } - public List getMenu() { - return menuList; - } -} diff --git a/OpenerMaker.java b/OpenerMaker.java deleted file mode 100644 index 1fc25d3..0000000 --- a/OpenerMaker.java +++ /dev/null @@ -1,20 +0,0 @@ -package code; - -import code.BeerOpener; -import code.DrinkOpener; - -public class OpenerMaker { - private DrinkOpener beerOpener; - private DrinkOpener redWineOpener; - public OpenerMaker(){ - beerOpener = new BeerOpener(); - redWineOpener= new RedWineOpener(); - } - public void openBeer() { - beerOpener.Open(); - } - public void openRedWine() { - redWineOpener.Open(); - } - -} diff --git a/Order.java b/Order.java deleted file mode 100644 index c5a2c97..0000000 --- a/Order.java +++ /dev/null @@ -1,26 +0,0 @@ -package code; - -import java.util.ArrayList; -import java.util.List; - -public class Order { - private List employees=new ArrayList(); - public List items=new ArrayList(); - private int orderState; - public int getOrderState() { - return orderState; - } - public void setOrderState(int state){ - this.orderState=state; - notifyAllEmployees(); - } - public void addEmploy(Employee e){ - employees.add(e); - } - - private void notifyAllEmployees() { - for (Employee employee : employees) { - employee.update(); - } - } -} diff --git a/README.md b/README.md deleted file mode 100644 index 9e27629..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# DesignPatternProject - -change in dev \ No newline at end of file diff --git a/RedWineOpener.java b/RedWineOpener.java deleted file mode 100644 index edf3b9f..0000000 --- a/RedWineOpener.java +++ /dev/null @@ -1,11 +0,0 @@ -package code; - -import code.DrinkOpener; - -public class RedWineOpener implements DrinkOpener { - - @Override - public void Open() { - System.out.println("class RedWineOpener:method Open:服务员为您打开了红酒!"); - } -} diff --git a/Waiter.java b/Waiter.java deleted file mode 100644 index 033ac20..0000000 --- a/Waiter.java +++ /dev/null @@ -1,29 +0,0 @@ -package code; -public class Waiter extends Employee { - - public OpenerMaker openerMaker; - public Waiter(Order order){ - this.order=order; - this.order.addEmploy(this); - } - - @Override - public void update() { - if(order.getOrderState()==0) - System.out.println("class Waiter: method update:新订单创建!服务员等待接菜"); - else - System.out.println("class Waiter: method update:订单完成!服务员开始上菜"); - } -public void getDrinkList(Order order){ - openerMaker=new OpenerMaker(); - for (Item item : order.items) { - if (item.getName() == "beer" || item.getName() == "redwine") { - if (item.getName() == "beer") { - openerMaker.openBeer(); - } - else - openerMaker.openRedWine(); - } - } -} -} From e092cccfca926f18da75f4b236451752c126753f Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 22:05:06 +0800 Subject: [PATCH 14/22] ruanbany --- .idea/misc.xml | 2 +- .../Business/Facade/BeerOpener.java | 9 ++++ .../Business/Facade/CockOpener.java | 9 ++++ .../Business/Facade/DarkPlumJuiceOpener.java | 9 ++++ .../Business/Facade/DrinkOpener.java | 7 ++++ .../Business/Facade/FacadeDemo.java | 13 ++++++ .../Business/Facade/OpenerMaker.java | 27 ++++++++++++ .../Business/Facade/SpriteOpener.java | 9 ++++ .../ClassDesign/Order/Order.java | 12 +++++- .../ClassDesign/Person/Cook.java | 18 ++++++-- .../ClassDesign/Person/Employee.java | 11 ++++- .../ClassDesign/Person/Waiter.java | 39 +++++++++++++++--- .../src/edu/tongji/designpattern/Main.java | 35 +++++++++++----- .../ClassDesign/Order/Order.class | Bin 366 -> 2697 bytes .../ClassDesign/Person/Cashier.class | Bin 1401 -> 2853 bytes .../ClassDesign/Person/Cook.class | Bin 1389 -> 2068 bytes .../ClassDesign/Person/Employee.class | Bin 937 -> 1139 bytes .../ClassDesign/Person/Manager.class | Bin 1404 -> 1778 bytes .../ClassDesign/Person/Waiter.class | Bin 1657 -> 3647 bytes .../edu/tongji/designpattern/Main.class | Bin 2049 -> 3647 bytes 20 files changed, 179 insertions(+), 21 deletions(-) create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/CockOpener.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DrinkOpener.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/OpenerMaker.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.java diff --git a/.idea/misc.xml b/.idea/misc.xml index b4cf3d8..a9dcdb0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.java new file mode 100644 index 0000000..74aed3f --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.java @@ -0,0 +1,9 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class BeerOpener implements DrinkOpener { + + @Override + public void Open() { + System.out.println("class BeerOpener:method Open:服务员为您打开了百威啤酒!"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/CockOpener.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/CockOpener.java new file mode 100644 index 0000000..6c5d99b --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/CockOpener.java @@ -0,0 +1,9 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class CockOpener implements DrinkOpener { + + @Override + public void Open() { + System.out.println("class CockOpener:method Open:服务员为您打开了可乐!"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.java new file mode 100644 index 0000000..4cf46c0 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.java @@ -0,0 +1,9 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class DarkPlumJuiceOpener implements DrinkOpener { + + @Override + public void Open() { + System.out.println("class DarkPlumJuiceOpener:method Open:服务员为您打开了酸梅汁!"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DrinkOpener.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DrinkOpener.java new file mode 100644 index 0000000..d02b701 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/DrinkOpener.java @@ -0,0 +1,7 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public interface DrinkOpener { + + void Open (); + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.java new file mode 100644 index 0000000..ad1507d --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.java @@ -0,0 +1,13 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class FacadeDemo { + public static void main(String[] args) { + OpenerMaker openerMaker=new OpenerMaker(); + openerMaker .openBeer() ; + openerMaker .openCock() ; + openerMaker .openDarkPlumJuice() ; + openerMaker .openSprite() ; + } + + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/OpenerMaker.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/OpenerMaker.java new file mode 100644 index 0000000..c7ed00f --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/OpenerMaker.java @@ -0,0 +1,27 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class OpenerMaker { + private DrinkOpener beerOpener; + private DrinkOpener cockOpener; + private DrinkOpener spriteOpener; + private DrinkOpener darkPlumJuiceOpener; + public OpenerMaker(){ + beerOpener = new BeerOpener(); + cockOpener = new CockOpener(); + spriteOpener = new SpriteOpener(); + darkPlumJuiceOpener = new DarkPlumJuiceOpener(); + } + public void openBeer() { + beerOpener.Open(); + } + public void openCock() { + cockOpener.Open(); + } + public void openSprite() { + spriteOpener.Open(); + } + public void openDarkPlumJuice() { + darkPlumJuiceOpener.Open(); + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.java new file mode 100644 index 0000000..f06cecc --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.java @@ -0,0 +1,9 @@ +package edu.tongji.designpattern.ClassDesign.Business.Facade; + +public class SpriteOpener implements DrinkOpener { + + @Override + public void Open() { + System.out.println("class SpriteOpener:method Open:服务员为您打开了雪碧!"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java index ad03323..21accea 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java @@ -43,9 +43,19 @@ public void setItemList(List itemList) { public Integer getOrderState() { return orderState; } - + //加入notifyall函数:ruanbanyao public void setOrderState(Integer orderState) { this.orderState = orderState; + notifyAllEmployees(); + } + //ruan + public void addEmploy(Employee e){ + employeeList.add(e); + } + private void notifyAllEmployees() { + for (Employee employee : employeeList) { + employee.update(); + } } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java index ce5576b..551206a 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java @@ -1,16 +1,22 @@ package edu.tongji.designpattern.ClassDesign.Person; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.AirConditionerAPI; +import edu.tongji.designpattern.ClassDesign.Order.Order; public class Cook extends Employee { private double temperature; - - public Cook(double temperature,AirConditionerAPI airConditionerAPI) { +//ruan + public Cook(double temperature, AirConditionerAPI airConditionerAPI, Order order) { super(airConditionerAPI); this.temperature=temperature; + this.order=order; + this.order.addEmploy(this); + } +//ruan + public Cook(){ + super(); } - @Override public void changeTmp() { System.out.println("厨师修改空调温度——"); @@ -19,9 +25,15 @@ public void changeTmp() { @Override public void update() { + if(order.getOrderState()==0) + System.out.println("class Cook: method update:接受到新订单!厨师开始做菜"); + else + + System.out.println("class Cook: method update:订单完成!厨师等待服务员接菜"); } + @Override public void settleComplaint() { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java index 976e5d7..74fb350 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java @@ -9,7 +9,8 @@ enum Gender{ public abstract class Employee { // private AirConditionerAPI airConditionerAPI; - private Order order; + //waiter要使用order,所以改为protected:ruanbanyao + protected Order order; private String employeeName; private Gender employeeGender; private Integer employeeAge; @@ -22,7 +23,10 @@ public abstract class Employee { public Employee(AirConditionerAPI airConditionerAPI){ this.airConditionerAPI= airConditionerAPI; } +//ruan + public Employee() { + } public abstract void changeTmp(); @@ -31,6 +35,11 @@ public Employee(AirConditionerAPI airConditionerAPI){ public abstract void getMessage(); public abstract void sendMessage(); + public Order getOrder() { + return order; + } + + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index 2015889..d294549 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -1,18 +1,28 @@ + package edu.tongji.designpattern.ClassDesign.Person; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.AirConditionerAPI; +import edu.tongji.designpattern.ClassDesign.Business.Facade.OpenerMaker; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; +import edu.tongji.designpattern.ClassDesign.Order.Order; public class Waiter extends Employee { Customer customer; + public OpenerMaker openerMaker;//ruan private double temperature; + //默认构造函数:ruan + public Waiter(){ + super(); + } - - - public Waiter(double temperature,AirConditionerAPI airConditionerAPI) { + //ruan + public Waiter(double temperature, AirConditionerAPI airConditionerAPI, Order order) { super(airConditionerAPI); + this.order=order; + this.order.addEmploy(this); this.temperature= temperature; } @@ -34,10 +44,29 @@ public void changeTmp() { System.out.println("服务员修改空调温度——"); airConditionerAPI.changeTem(temperature); } - + //ruan @Override public void update() { - + if(order.getOrderState()==0) + System.out.println("class Waiter: method update:新订单创建!服务员等待接菜"); + else + System.out.println("class Waiter: method update:订单完成!服务员开始上菜"); + } + public void getDrinkList(Order order){ + openerMaker=new OpenerMaker(); + for (Item item : order.getItemList()) { + if (item.getName() == "百威啤酒" || item.getName() == "酸梅汁"|| item.getName() == "可乐"|| item.getName() == "雪碧") { + if (item.getName() == "百威啤酒") { + openerMaker.openBeer(); + } + else if(item.getName() == "可乐") + openerMaker.openCock(); + else if (item.getName() == "雪碧") + openerMaker.openSprite(); + else + openerMaker .openDarkPlumJuice(); + } + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 86c213e..74b792e 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,14 +1,16 @@ package edu.tongji.designpattern; -import edu.tongji.designpattern.ClassDesign.*; +//import edu.tongji.designpattern.ClassDesign.*; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; -import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; -import edu.tongji.designpattern.ClassDesign.Person.Customer; -import edu.tongji.designpattern.ClassDesign.Person.Employee; -import edu.tongji.designpattern.ClassDesign.Person.Manager; -import edu.tongji.designpattern.ClassDesign.Person.Waiter; +//import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Person.*; + +import java.util.ArrayList; +import java.util.List; public class Main { @@ -39,7 +41,7 @@ public static void main(String[] args) { //test for BridgePattern //注册不同的职工来调用同一个接口API的不同实体类 - Employee waiter1 = new Waiter(24,new FloorAirConditioner()); + Employee waiter1 = new Waiter(24,new FloorAirConditioner(),new Order()); Employee manager = new Manager(25,new HangingAirConditioner()); waiter1.changeTmp(); @@ -112,9 +114,22 @@ public static void main(String[] args) { //输出菜单测试 - Menu menu = Menu.getInstance(); - menu.showMenu(); - +// Menu menu = Menu.getInstance(); +// menu.showMenu(); + //观察者模式测试 + Order order= new Order(); + Employee waiter2 = new Waiter(24,new FloorAirConditioner(),order); + Employee cook2= new Cook(24,new FloorAirConditioner(),order); + order.setOrderState(0); + order.setOrderState(1); + //facade测试 + List items=new ArrayList<>(); + items.add(new Item("可乐",20.2)); + items.add(new Item("雪碧",20.2)); + items.add(new Item("酸梅汁",20.2)); + items.add(new Item("百威啤酒",20.2)); + order.setItemList(items); + ((Waiter) waiter2).getDrinkList(order); } } diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/Order.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/Order.class index 10567b0da2effabb69449dcd1772ef0f3ed7d817..e287dc7708371c0b502cbbb14faa21f854f07d96 100644 GIT binary patch literal 2697 zcmbVO>rxy=7(Klg7G{S_2;hwfMg zK7l{gDlrwUvizMl$tzfvdU|^H!U$C>KlYpMp6+wbck9^~fB*VBfNOYcU;sBW_}D-K zH+#^J6=iNIv#LzNpt+sJ8a`3xP8RF9tIWL&iUxYIk-=sLTLRrqAP>!X{)mp9CzF!EJtXp;8 zsY>6swmmm+gQJ?vn_{BByJf zQ=)!R5HMV?EWMq;4!Cepb5!i=zO`NrE9)GB>#^kXm)i+}mHI6PxwJ zJ?Y)I_bOZ&EV?DTvTJ*enn#PN;ECf4%yt%{pLa{S5RX5 zxuxNoj?-XnG8QQ!-TlvEhq*c}d|7g;ENQ+k&kNmQ8T8ZVlOA5o#T`_U7&#ezR#lXN zd-3h(c3shADW~Q9SLej;$ah88%UFly5LM`KBigYV?WL^teIt>u6WbJEk6kY7a0)Es zI;+Zf5hxtNf}cCzadt}84VaxzY}mChg&AzKPj}q9SCVUv z>NF#C^@_TjOuT_nc5dsUTJb#lNY$o^3m7yptjsHT)x>Lf-NXV$Gx*fRXV@`uAD&`N_&a3T_iaI z#`4b~^1mVR@EMZFNVSIPeBUv;ehLxZq#YzD&_kQ029ub*c#A8h#=#i1f#Y}ZF0JCQ zs6lb0^FO2O2M!WYKwaVDP}|{j^YAz(qQlD+m{hy-mrux0A7aq4G|NuWD@PTkrdK27 zHX8}=;WFQ8A!@FLq<`d~UC8JuLUc@XJT!SKNGc98b|y%kAXAu*lx*`E>dj9bBdvm) z3}d3b8mCtiXLzNP`#w+TfOj$7BgEEHuW)3Y&XS6={sM^`aR z8;@!x9+2r%0wVAM|5EA0Yf&H!6^IOru)9@hePQBfDDx`oZMIFS(M+?UZXIF?T*q95 zS%@%A)?0e&IeHR!&_dNAzRv2MYeO`fh$cS7JdqOWDvJ=G@~Mh&LLokfAy6c4R^U4f zabODkf!>YjU(omcKQCKx)~zznC@rulZeSdXP0CAbpc^DoRWK2eFLInk;x8B(Ed5E( L1U}+Y0?Ypbnt52A delta 137 zcmeAaea9qv>ff$?3=9k=3<6vX%nZEj41DYi{F9Rzt0%u=kz!+EU}a=5nC!@+I{5-4 z_vHPo*1-&l3`{_kAixNOKovle4an06^BEXewYD=bZUhQ2F|Y$kHlQ#APy+{$o; S88{iZfILP9ZXn6TzykmqBoAf) diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cashier.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cashier.class index 2529a3befc3be9105cf72e02d6df049d378eddcf..9b296561ea3e9d0eea50d44cff1c4c3437f751db 100644 GIT binary patch literal 2853 zcmcImX>(Im7=BLH+w=k@w1pxrNP#p!Q&|)#2&JJGEl_B!7T4S4(B3w=H{5%J)U|@} z0c3Gx#=0*fDkCG*p((VCeD`N)63QokfHRKoxk+hgqYWR-Bxir#<$2Hhp8WRr_^$vq z;+PLB(OiaFghjJUG%a2{?SmVwVzOJpGd?_vwleI&UN83fP>yy9`$d1ihYoa#(Q^{I zME|@GFQD6tgA!i!p%SeUUXt*#5ci5_M=j~3kJxxs!fO%~2|W@b5~4yEFUKMDdeP^F z%200cc!C>>l{7d53p2QNBgzei^=&+w3|YF?+pmVA+*EtDgko9T&_c~I#WchAQfQwz zoogEzd=WjF(6!FN1WEI^^(#k|P)yN!Lmif(YQ1zqHnV$- z)D%?`mTrW3Tn`;6kVKL_TUAZ9o?`ec5WZijs?n@#QPom)jT=qvyF*PgR~kzbSxCoh z_v^YCT+Mov$XU=v4((0Gd$`f5^u%ns^oSDcQVdnh^NTL4Pc<1fm8QL&8>UY2QOrJ- z8^p;%Wu_kt9i_>drhKM|BIGd4Gr48OcvB=FSZ6>u>xdp=sL2sw@uOBK%p+=CiM8lP zT(QW&c^#G#8Q7yF^8S`Z`sljw&Uk_XnoL9$OK_Ew-K@tGF+~;E#@EZOJ#-(GUfM1< zxfZ=U^L6M+Bf?u$!Ks|5qF&rY8TIIwu?nkY1W+dv!{l0us?>55oV?XXTM5Mj4pLG7YzrVnzu zK3#$TAy-6RR0WC`hl-iEgtCAiPAV~~0rz0`_4MPbqHs+`EipE25Xg?Jvov>GYqw7&1&1 zF%b$E>FvUDdU#jTqwIo1)F1nSrV?cLRE6xGN(c2`FscY4Y8z;FiVz;^YlG{?z=Eqs z;Rx2aM&S(BxJTg%PQcw=;~s-&6y6a!=fGpsF10a>=5==cO>8wwx&}NTI^Nkftg4Q&{u^h9*$i?XMa`bz1>oaSq_3&cB43HH7x2P*aJe z11T&M%MVhM6HoB?BI%pW_BrI0-!!ocT7r z^^hpYRTN~QOU@zl8W`!#6K!7&A(c%F@Yshp6#%I!+L2^tO`D1Ot95xQcX!oeIDqf4B75ByR#;|nfMEg zJopPtcrj`eg$I52XBa{K6UIB+1|l|Tc`(_Jx##Y=bI;j3Uw`j>1~7-&Boa86KtIkW zZ~^1}$Ru$Qmo#!Yg)5jaFlivmkW!-26dqTBCm2|fA%06bQr%{FoGq3_EwGg9)Yqg{ z6TYlFO|F#i9IIe+-!F!cbtmwpBYfXlkY2%cYEntp5#B=i!N16SuF4QAxHZ~sutc;+ zL1S5XOMKZTBwcb>xLxI*)Nvb(sa5GS-0ZEHvhaMD`s4np6y7|;FhATCL#4M`M-s-6 zSXt#xT`V=44AHC>8V{N^uC!ENC}oR++i2QcI*K7#7wRFI#_N<$`NFB~N6CsCcq`(b z)RvfSB{OUM2{&OPXCjG|fxL++TxH1YZEXE|v9po30dG7{f@QG5Gk*-zt$nlEu1aHthjC6n*jHdp`c8Hg45nCk{!S!%x7kd(Zl#w}@ z7~OR&Tg+9Fp%a>*Gt3atznNBXTAMgV&jE@S5k-vNsr>Xuu>9l)MBY*u!5}>cC<&tV z5iv=mA&SOBEQMjDDI#K6mW3-C2g;IUjJC_)4`X2T9ir*j7W(q<5vMz{4I_%fI}K5@ z!^BR9JDF62nC+byPVQHoB3$R#K>@7_^oeenh&Bn^C+K#X$u# z3T7GNo~TrX!@Zg#7+8*>_mF9s-eHD|>0DkIHQlqV(iu}Xglm?pD)&6$SbDb1T{jn) z^dmLbw1n&GbEcEEEyMIo+Y-*);{3lYv)w_SbPVC>!8$v!#1P5a2IbeEC!!Oz%4y-8 z;-|}G8O+;7US8skDc_sMh_`II3{%~4EeglAsUq7xOM>j+|15%`&>hgWbYSSQWszN{ z*(nJ_I4xy~6_>eH5~nIvy0==@;2uemD0sYhc7a!$YV^Cp^U5M?SE^-hS{{R165aw` z7%!1~+!dD5dQ%H_%_)jwrW7|OHQ9HDf6O%u;gE(M7}W3rUR3b5hQoMAn#UBpt6>gD z7{>g|Kl=Ap{`_sVe)ayN+Z&r}pVaT&_BU?+asDd(6l68za8$!{cwWIV4e#N&hIzcN z-~$bLEHKO!Wn-lz@l2{Byk*-+H42-lU;e?r@~ywJR{v&gbM<@w(${}IxX@tqADs7Z zeePelwt3|`L+-yZ8gc&W7xk4dThWhxy68Xrw0`}P|Je=ytM7;>fZ5+w^LKO)!}NAS zj?#VD=LG4zl>Q$YO!h~2C3JKa-8namMrI5LyUeSp!QTZ16FVT=MlVx)>Vw_QEs9Gw0vnJXnM(oDhh1sDo!M;9mCQPl z&Pgc~G&6xvG+lDahSL)r`OI6MC<#Y?KiYLSjSNvLVTqS(6h?D9k8%1e572j@C>cP^!5?L=%MFmX7VmrX3rgjGNX|@2xoq!|2iT+(_sinT9bieoK_7g5(L|a z5rTh~&N7Hd5PBb_r`$<07VKyOiA36HoXJnpk2UEJ&{KN#WbUG;O{Eeg2p~eP5?*UK zHQ^a{wg8S3v;;{0g5E)89Z||VM*q-#sA04b`+^jbh!Wl~;j~ecE!0#Cl@q^29hWMs zBfbvp8u}zff+%hwF1LNOl?35H9hoes!UTbgknAb!>L3|!l8lp21fdam3Aw~MV68k~dV1jGmVqxnJ#cEvz*i`_5OzNS1k4{A delta 600 zcmaiw&n`nj6vn@qx$W(}chqfBMN6;JKUYgzR@N5mNQ8BRupyPO?lUwa77`0e6^=!lS_!S!3V`f#5~7eguMNfvyA|+aN=% jsZBB@dy}c(WCtAS4SHR{Q4KBzU;MAxTvu|85RTLr3kfoK diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Employee.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Employee.class index 051a07e6658c1923d61fec96f11a09371d3cbef8..e3c0c71533aea1ab4f56e087d38989f1fcf0dfdb 100644 GIT binary patch delta 388 zcmZXNyGjFL6olu$BztkQW}_x+!Wyr+2x4IhOTkhkjo6DWu~8(Xu=5R+@YgtWABYf`Vuvg&j%1%m6_ ztNTHIaraT1(Y;MS8YMGDpOk>oheS4GWEfyrMZS>(%sDN#u?sf zTWgCr4I@K4wJ@Nxz*qxCBxw@pyMKo6-K0)%*SOKy`|*D@9WDI~{w_U6(RTI_?32{sX>OcSPA5py(4!A1iGIaUUAe0C zTW3_0;mGEa>E(v0Yw`(2Q{vp{VA!SnJ1d61&2eq1FsjGomX+XL`d~7lsG7x46LHI} z8#tqAaeitrNw=Fy#uST64aK>2f-a4+q_1FdEw(C!`t+1Bz&}*oE0L;|w4PPIP$bmj zbqPDLGk`ZFw4t5hU1#`~n0xrRc)=OJ=uF>nW*0<$sx&iNDomErW27(N$*xRg$jzCZ zunR->(m07LKTM1C)bRk0NH~f&89pbt$lfEAogXXT{E=2W|BW;9RfVd&{54UPu4hE% zsvBkeqFq=ZlgQ554`)l4C&h9#2h!WQA(5G}i!)+=PFx-(HZk@KIsY*<%%H4K*mW+> z*tt9@$$^r07OsoCiz_$M&Sctt^nGV(v0xXcosnze+bm@uW^a`W-<9vrJ5vt`S#dhr zddxXLU2*ebL|3j{6}g;qe$n}P!bPPokbi0JiW|GaJ~|5$^^b}Cb>M3g6Jw2X9)#YA;I=Rm>xH3q?w0i?JLm=roB{afC zD!>Y*Me4XW@h3M`_*Uj^ZLHj^{gLjLel*kbww)eB2A?}4bgHFuJ$BLBK+;Lnz)yQP zdN>OfJ@_kpizNE6o7Np<1VY$`Fs%}vBB{yKg|P>XBoWY~W!{O}fvgPA;MpquXT;>% zn(v{e!T$i;+`YEC2daCJ_O+mm6b{r`K_aUss=Y+kgy+2AQiZGeAXv9Yo;_Cz;c0!Sj(JjA|&wFzoSwD19Z z9BX5o1p^5&p*SZq^UpW`obwg>HmjdM?;pTEHIpFAK?1A8Q~!LCh}Jw?rZ(km~I`mIU@WF=5&9xIVwVw;fMVYlc@cOy~@ zqswjLlMYkVsAQQz%_2rzG6sqzloyGYsETt<8 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Waiter.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Waiter.class index d2dd9b30784140b0d92cb44825b809f660b3cdc1..49f515a9fd39091ffdb0a72bde467bc1a146212b 100644 GIT binary patch literal 3647 zcmb7HYj+dJ8GZ&|R+g5FMQkuM#BNIv3XUjAXoG12$Pk?RMogUM(x!{Fu@_5PWwlB} z(~G${SPmGGLLr2-CoaY&O^oR&!nZ&__hWf!{n+gCjJ zIbP+;uetF$-f-a;F8or$n{KSeey;H={!;Pa5JDb=q4MD^2|aGCL$3>(3x{3kb0NZa zMEMZogU*MzgtsLa46aZzVd_zprrTT9a57-(v7W*KlP1T46f)OQ=XcnSC zr)ng05*7C~F?jU28dHrnrH{kxDGg>%GNHxPL?Wx374#D-)_|M%17ljYkwMW-?TT zdX-p@dN3NNmPp3K!o+ei73ynK;>B{yWWCwYVtuVzg7!R9q6dpZ5Isiqk218B=D(BP zPD3|!^GIB6Q=@9k)SK0)9%vz`CJ6~TpA2sDuZ?7o315^5~$tlV9C(g>;hG~UY| zy9J*-th}Sh*n&nrm@>BG#}bk<-odYB`0<2E7m-psQ-MxORaAAU$xyz~SY=3rokd}p!i&px= z^9=2zL?EP>8$6qx{X9E&$vXCV_ReuDJ!}n+Ta#Z}cm9^0n&EIK-?y%uEd2E^`P4NV zmxTH8)A=t_`P4~kaQ5EZQ3ikElRsNiQ@NoVxi3zk#)JIjbR}a_Q9kV0%r^&k$Bi8Bj*5Jq1>~s(?Sb6z=-o4y z8Fu|Ilp@3gWhcED!kX*1#y-eS4cQPSv8vNO57MCwA2!Q)A15UY%1B{|`bfqHI3?pW zh8bR1nuY(`pEAxM%^>GLx^0agwa#BD417o@t}rl_8yU#mp!!u>XRc?bNvE>#@n`vw zF&SrhQ+~*YKl0%m8i_GV^5;I5C2n5IroF@m`Vp0mh?k#@K+@DA{D{$op%Z0wmw4cv zq(8vU58-Rh2wO{XauJVE`jl|kc6Z5CI3J}T{#7E-2$5f)>qtTnQ<Z!|s7 zNt8#dYp6<;Zmrc15i>|}t`v#UKA*kOhBQgsBMcoVDaNIwZh^HqotFEWc`BC^2Z}@$ zuZbGp=0*Or#7wnET)x!{aTkSjyHE(-N+e13r>}t)B1!_|3~TefcOFW#1(#7eRtOwN z!a_#!saHv~tM5{l$o{~+4RI3^dC{&!$*cPns3bhO zWRia0Z`M8yJVtx#M;<63x7M_-ofXtrJ$@RKP5DH`B2 z?k)GMj`OyNr;gucq{r|RJX{Y} zSJ!rZ8JM!98tp<9-UX`IU}v_kHKxvelYe;il@(xZX0zgs6{-~BtEKbE0y47?8KWCMK8r+ zU>DxQZVVuZQ`k%Q*gg?`J?;0=zeT&~9X~#4r&H3R@fdhU)k z0X+rpLxUJQ(FP=>6!v;%{D1R%?f3pKd;a75^$oy0RxDT;Heq7K#3;rLWGsxsF)$&M z*&uSra}+oxuWyQCl_m8(XH%rLj7Tw4+;T_kv#QwBPQ|xY%$Wzr<@2M;?pcjNcP2^< zfvehK*{v{yFDtHFt!!MJ)vD!_b5|sN%aJgqY;+*RF>PZ8v%>YI0&_MQTM%phOel^7 z$D)lTEHkRk@Vs#Ns#bFTIM_Bm>qwJbi_WCc2*Oq?BGZ?Hx+6k!l%gHz@X0;d!ZTQQ z{1Mun+8m=fL`9I;Po^x2Iw?x2To7I8rbxmimZ=r_qbfsB9lcHdIysOY%zNlD-xK^T zx}^$H7>Fryys^RU@K@ zz18+Q0w8QxGy=3}v@X_#x`TSJs&W@0C9DKE3ReOUxf_-jr^ux#av9Y)qDKuM6>(i= z@YhBoRQ^cB+n|P{E!Nr;k)Y)0hMxmjoSDBSZtbD%7ho!EMNr-p4SGlMdmTC<^>x=H>T)Q}oB^%^y#d+P{C#VQIb#j{?o zaq77^i576)$XJVNhO!aq_5>2hco(N-yvH3Z9*u)Gi#ZG}87&%4aE)eE>tVlUYI;~T z)->07*9UdoNLMo~%*boX4)PkDVJOXLo!tlx3FdChXw?&PsHMiGrcKX+Lpm$qeHkC{ z>bi!$yEN2y^x>I{bgDc&GbrFg8Rzg3H#=`nU%NAO-T%7IPA{_+~g&r>Ny{szxnX; zbt>tjzPk@D_dU3MfI)tE?*7n?14C!8KI$XBe~GVTe2rTS1tX&2{YBlMJeiw1x>O$} zAVgHNRSQuMI*M!fIV}cMv&B?Q(i|(U8D-0-lZJQ1e>4@DxlCyX>-uQ>U$F3mM|IRB zE(_WaUnez++8XL6_9g3D7dBPv1`&FcV3hdCuf)2NlsnP3pd+xnI7Mw=l~2?pmU7tH zir>$$qByg1CitAVF1d#kHnj9c=v*eJdXzYk7YCu~-e$VKi4BITga~iE1=7{Tpl)sy zBzong<`XBFwRdUyl%E9EBhoeXkRLv(lKq}?RT6I_o%(i$F+^mGG&XtjQ^BMbE^Wd_ zV=@1!WQWI_I}LXtpUn)p6pG(tajOY-py7Mc%2}p1s-ePciyJM;aG%m?kLjqQpR@dv z1x6=BHGS96lb1$DW6qpGu-n%3I{J26%CT5avK%+S2Gr7%3w3yoG_*Kdgn%&s>yII; zeGu98b0@+v0O#BR2qcP0QA&z(QhX{Yj?BXFX1j zK*KjE_D~)re00(n!<=^a+(FDM7d_%V%x9n(_ksasMpyY5-O4nb%R@z9 z<&nOJ+v6I*YQE3e;QM@&UKRikM0(R0iz%3ZXGki*RQj8RX(&M5in2#tCsFy7E(CfnqETvm{8TzptKcEsnVI_W{6~7Yoej~#DK@tC=)qkUw z7`KDD(95P`Co9D+R*Btg9rm(D>|-6+&w6lx9mhd-0f*Q%9A>w0#Ny)NIN$I*>It{V zZlD2;#6}-$KogpY+)-A67f8y+308y`Y1V;@Y&=>>%0WLxZY9Y{2>--Jk_5u_BQ~Lp xyt(LtehKYx5w6qNOkN~Hw+CBD$|Ym{tyHDnz4x3uymwxGu6VRL_U+H|C!mvAmtDjS z11=%rcDzQYo*+6LEJvQl+NO@$@t$?uaLi>JahD6`{5YP$?xG_C&6WpD+&rD&m4~! z6BZrG)o@GFicXFiu6kUf*`gr(@m2Qm)3t?{7U8vpjA7Dait9nijXb@W%D#RpI=h(i zxXCTUZI5a0818!9W5%LVo&98u=}P@J%hn{d?360O6T(ubX00uX+GH)+Xe@*EK1a7| zwR51$Zu#DNf>PTR6|jfBLR4(MQ=TL2SF&r<_O<-kqW>?}1$M>& From 77ee3db6fd338103f9cfbe77964b7fc0c36ede9b Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 22:10:03 +0800 Subject: [PATCH 15/22] ruanbany --- .../Business/AdaptorDemo/Coupon.class | Bin 0 -> 339 bytes .../Business/AdaptorDemo/CouponA.class | Bin 0 -> 767 bytes .../Business/AdaptorDemo/CouponB.class | Bin 0 -> 767 bytes .../Business/AdaptorDemo/CouponC.class | Bin 0 -> 767 bytes .../Business/AdaptorDemo/CouponN.class | Bin 0 -> 763 bytes .../Business/AdaptorDemo/Discount.class | Bin 0 -> 183 bytes .../Business/AdaptorDemo/DiscountAdapter.class | Bin 0 -> 1303 bytes .../Business/AdaptorDemo/RealDiscount.class | Bin 0 -> 891 bytes .../AirConditionerAPI/AirConditionerAPI.class | Bin 0 -> 206 bytes .../AirConditionerAPI/FloorAirConditioner.class | Bin 0 -> 985 bytes .../HangingAirConditioner.class | Bin 0 -> 991 bytes .../Business/Builder/ConcreteDishBuilder.class | Bin 0 -> 439 bytes .../Business/Builder/DishBuilder.class | Bin 0 -> 366 bytes .../ChainofResponsibilityDemo/Complaint.class | Bin 0 -> 2171 bytes .../Business/Command/AddDishCommand.class | Bin 0 -> 375 bytes .../Business/Command/ConfirmOrderCommand.class | Bin 0 -> 390 bytes .../Business/Command/CreateOrderCommand.class | Bin 0 -> 387 bytes .../Business/Command/DropDishCommand.class | Bin 0 -> 378 bytes .../Business/Command/OrderPadCommand.class | Bin 0 -> 165 bytes .../DecoratorDemo/CashierDecorator.class | Bin 0 -> 753 bytes .../DecoratorDemo/VIPCashierDecorator.class | Bin 0 -> 1605 bytes .../ClassDesign/Business/Facade/BeerOpener.class | Bin 0 -> 718 bytes .../ClassDesign/Business/Facade/CockOpener.class | Bin 0 -> 712 bytes .../Business/Facade/DarkPlumJuiceOpener.class | Bin 0 -> 751 bytes .../Business/Facade/DrinkOpener.class | Bin 0 -> 177 bytes .../ClassDesign/Business/Facade/FacadeDemo.class | Bin 0 -> 786 bytes .../Business/Facade/OpenerMaker.class | Bin 0 -> 1361 bytes .../Business/Facade/SpriteOpener.class | Bin 0 -> 720 bytes .../Business/Iterator/DishIterator.class | Bin 0 -> 599 bytes .../ClassDesign/Business/Iterator/Iterator.class | Bin 0 -> 215 bytes .../Business/Iterator/OrderIterator.class | Bin 0 -> 603 bytes .../Business/MenuSource/MenuSource.class | Bin 0 -> 179 bytes .../Business/MenuSource/ProxyMenuSource.class | Bin 0 -> 892 bytes .../Business/MenuSource/RealMenuSource.class | Bin 0 -> 1052 bytes .../OrderRecording/AddDishStrategy.class | Bin 0 -> 392 bytes .../OrderRecording/DropDishStragegy.class | Bin 0 -> 395 bytes .../OrderRecording/OrderConfirmStrategy.class | Bin 0 -> 407 bytes .../OrderRecording/OrderCreateStrategy.class | Bin 0 -> 404 bytes .../OrderRecording/OrderRecordingStrategy.class | Bin 0 -> 186 bytes .../Business/PrototypeMementoDemo/Item.class | Bin 0 -> 890 bytes .../Business/PrototypeMementoDemo/Memento.class | Bin 0 -> 1393 bytes .../Business/PrototypeMementoDemo/Menu.class | Bin 0 -> 3748 bytes .../PrototypeMementoDemo/OrderClone.class | Bin 0 -> 1871 bytes .../Business/State/CheckOutState.class | Bin 0 -> 1142 bytes .../Business/State/CustomerState.class | Bin 0 -> 447 bytes .../ClassDesign/Business/State/EatState.class | Bin 0 -> 1130 bytes .../ClassDesign/Business/State/LeaveState.class | Bin 0 -> 778 bytes .../ClassDesign/Business/State/OrderState.class | Bin 0 -> 1132 bytes .../ClassDesign/Business/State/WaitState.class | Bin 0 -> 1128 bytes .../ClassDesign/Person/Customer.class | Bin 0 -> 2425 bytes .../ClassDesign/Person/Gender.class | Bin 0 -> 1112 bytes .../designpattern/ClassDesign/Tools/Dish.class | Bin 0 -> 323 bytes .../ClassDesign/Tools/InterPhoneChannel.class | Bin 0 -> 362 bytes .../designpattern/ClassDesign/Tools/Table.class | Bin 0 -> 326 bytes 54 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponA.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponN.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/AirConditionerAPI.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/FloorAirConditioner.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/HangingAirConditioner.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/DishBuilder.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/CashierDecorator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/CockOpener.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/DrinkOpener.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/OpenerMaker.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/MenuSource.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/ProxyMenuSource.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/RealMenuSource.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Memento.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/OrderClone.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/CheckOutState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/CustomerState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/EatState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/LeaveState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/OrderState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/WaitState.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Customer.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Gender.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Dish.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Table.class diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Coupon.class new file mode 100644 index 0000000000000000000000000000000000000000..f78720a549a3b9becddb6208bb2639bd8c00c320 GIT binary patch literal 339 zcmZvXJx;_h5QU$!Az6NQS(a_M!ES>aIvOAm6%t5`=uKi-j)EQ8VA|0HpdKF_mj^tH}*6A4KWvd4Aq1I1cescsCfA8Hs rcDf+}6r3Cx$Iftq3366DqbgXJnEvWrWI1QT0lU2)0;7fYd50Hj{W{CUR#Y&lriX;8TD_ zRf$CxWygQ;32YJ9BP&#hT{m;*+_~q>Ib;9${p}3E0Uq_x#oaFMZ6L(`&hww=pWcmr zeQ(f%5IZ4uLp)>%?8lX0h^I^bfhQ$bMRI5>sfs5Io2gdDa%E?{tec@+nuV^FeJiSk zP?i_eWEn%}sZ`QFWAI0NGtx|TPA6Masl@C0crL0VJ}=!Zdcn&XuVjPUW?m=3nN~;N34hvzAT%zG< z?|+&4m9TZCvNnmcObL32x~5F8WMeaG_4b=LiLiwM#hgUw;Yx%}^cg0X_R28$`{Hlr zOR=yFFD@&KUHZITFl@lXpfODQi2eu9Ve-Dl0esq1Hd?RJMCLFMk59qIv3CN0JVbDU z&R55eY3LdByYpyOJD3siqiy@^{b Yb)TjiYCsM?|HIwBzzx>i+ivR49|T^e{Qv*} literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponB.class new file mode 100644 index 0000000000000000000000000000000000000000..0eb4fcff102561fadec932319af0b50179e8ae3b GIT binary patch literal 767 zcmbtSPjAyO9DPorrYl)jvhx4m2A8(dmJ2r!uqNVE0n(Ve(&e^9RK+J^&5c4c+^7|ce}W^g%I~U&wq}7egE)w z+@J>`_CoB3c*qdg_iMor&sO}5CnZ-!a%?N9iYE-)saD2vW#_!C8&WRKQrF795!F&C z%L^*9jG^;XDruiF_@nWhdZs$3ot>Ff;#GaR5Y-7^lrDR$g>S|1Kl=HRKRVGe#lInV`)s!rUg|H_s(Qq{W zU#5N~Y+b3WP2wz5g5I&NDbq{Y*o@kKhs~Wt*uj8eP9yYiCBioP3`dvt$}sqQaW0=+vy$8=>^1i_Vd|FdB8m|%~a~OyxU%)1@cMg9tL~xGI zXQz*8>=OrcLO}g{^z9OgNKYyZagAn%>$uT&JfOMR^JDK5O&*bejw|&qNd1lUCT_LT XLt;15fE;}MN4tAL8*H?<9qY~?U;(CN literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/CouponC.class new file mode 100644 index 0000000000000000000000000000000000000000..0d05354deefc7aa8d7d06e462b48a7edd1215813 GIT binary patch literal 767 zcmbtSPjAyO9DPorrYl)jvhx4m2A8f9%VjqZP!e&f0BKWCySR-NTxE6@J4k#AKFYSk zgv5aZN4^Xvu83c(s7#346v_7c`MsatbNu7?*KYt0@T7+>?sxHE10f!EUj95D{rdj- zxIvFX?1b12@t7g7pH_k)o-X-Eo|Ie_$)T;JDxNWHrdk=xm7VdjZb-Q_3tcPwUQ`RA zEH9|YGKS7`sib|u;E(oZ)HBsN?QBh@5^w91xu}l#ymY7N1utj3k_~Q)f&Cy2Lpl|C zomj1krA%^RWT95vT2ZMaEx9q7DV(2?6!*(YH+~B0Z@v#0{DmZsJzk@hQ#Co*#Q>G38W^36#5MmxIjef3pWrd*y~;+4CR*^Rtwr2eYX1FF;m zKY$;Fm|a-`RlVWE%+C0|w{K?e?*HBbIKWODO?+Iy`XXLn!-dTjKDDsb!Zt(0{+tPh z-eAhFcwBIm$LF?`DnDdcO0+VTD?8#vIqSkmZ3?Vpv^{MR~!;g}+WucroIobamZq*dNj`Bm1;-|-WRu=2+Qcwyu%0!Sd8!z5yQ!|y)twkSARC1iiu_T`dnFT(K|Om zdq9A$Gfd|;y;9(7@;Licvn;R3GHw}=hr{XwI|GA K&V27tA07bWT%tz+ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/Discount.class new file mode 100644 index 0000000000000000000000000000000000000000..99699c9ca35bea5f9fa1683ed30c2e3310736f4c GIT binary patch literal 183 zcmXwzO$x#=6olv1+WLdwF?8eGcmZp1>%tSn_7PHQQkulWx$poUN^FI0hG7OizR&md z25`hON1kIrSZfKT@s*1<5N5l5Nm$)n>?^sLRtTHvJv8d62!+&&vg6m6pIG#v^?a1O*S=bIjt%o66J$TM CoH6bI literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/DiscountAdapter.class new file mode 100644 index 0000000000000000000000000000000000000000..9f8d78151400ce7ac90b590c57bac423666da0a8 GIT binary patch literal 1303 zcmb_cTW=CU7(K&nVOgLcpha!1XoanIz2LRRluJxZQ6H#H>e~PlT%^0W7ZZPqufF(b zOj;W?@dx;$jNcC6^{q6U%+7pg=6vUyJ>P!+@#PzU8t$pcqMX12F2r#$c(2BBNks)! z1-c3aTLYux zIi@wB9kKhSWqJ=73YGui>JCGsY4_=HrcG&{_^qv)xmU^`LMK zCsEUI0(k~#D4@u|>I!aZxP{vc^?C2RPJE4H;2{pyJO-Yof;$@SVwvI5(QEtXDj61j zyXa|mD0&`wb$)vJUCC~LuunWn78S32J|b8BWzk9Qjp}oT&7-HEbP7Y-5uWc@vtqGA z9h?RA3_{f3CiU)fN`XQLk4iM6F;R8hUH5xw3?IjwEh|;Jb zf&@J(GSvKeq;Xnek^pCLmR3Y16OjwBgym_PcL>uAc&6_ol8b&q>@BkTS17xOh*Q${ zs7WO83sDJ4N~9zaO(JPJlOiM?2;E2MGcpVxh&YTu<`Vs>Kvf5QQX+w?B&9~;H>u(+ asyC3UO@vJ4o})+<;nHG}!Yi~0;rvg6##RIX literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AdaptorDemo/RealDiscount.class new file mode 100644 index 0000000000000000000000000000000000000000..df79855a1c490123d7bbda6f54d0713dd8a66298 GIT binary patch literal 891 zcmb`FZA%+L5Xb*>o}P)?*6VYe%jDmJ-Jhbm5FsZu=>hC@2u%tTps+*Q0$l}gL9 zj9p<~bmUe<$C}7ND`Xeq4*}^Oz1S;GlkMAXH30QTABBR*6RP^wI0FW z%o8qdbXo6Hb=a51zUXHTmk&hN6NR$=_|i9DRY};s#S~wp$Sx+~24_-fE?mOI>RN}# z+RLkAAh(q5WA19fx*ah@1203&AS58fJ=`bk+}T_FC(J8#BIdKX c9|(>(qMuK3J%Lb%A67sB*pT3hf|HB6YN%4SBF$}6MUrib0CmQP7Ia@h)R zbX6-+vQw3QNblKdku}n}{Ex(@bxN~yVxSok!mL+|rVA4LYt4m^2!x<31}G$q5cUt_ HZUaO=R&zPn literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/FloorAirConditioner.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/FloorAirConditioner.class new file mode 100644 index 0000000000000000000000000000000000000000..147c9f0f77789b1053e6dd0022680a396421da84 GIT binary patch literal 985 zcmcIj&rcIU6#k|y-L|ZPML;T|_=^^WQR59`0&Pf48bOOqJZ`&_GR=0k*_}1_@jSmDUSdesH!ZgzHbjerta=EmFET!EjF!ZmWfk1ZD7ts9tDO;jd6$Ac}4lsZLEaSv4zhtv-j=&!Ryb5?_Tcj zzB=6M{`m0XU}tN;`*v@q`*Zh=iFw@6;iicNEE?b@Zs9gVz0O|2{a!HX_!fMgYB&~K^xHiK={;1;*E0+oY4Wh*wm($KmdChdDnR#R4R<|Z@ zT=@e`*cf$DuoB(-JD|Gr9~keOHo=C*jd64DyC3h|lXKtu_N(&+z)jr9U=+DDPGeTX znGE8{r7)-bS!K>CGoQhET+nb)!zB%u8IrezE97m4xRI|gBnqC*8OBP&QE+I@@ke-v3#N8elj7qM8NR4#O=_Oo?CAS)8>JwyDdvf?z?8ev4Wr&rOdT3Ak-i* zSA}2jTw6%tx!hmfxM$wA+`4e zjvADjb}%re{45}u=}~wg4Vx@Q1cYa9kWP}+;#QNkleAhb?%E7XMz7-!F<0_OQhj~t z;w-K5FXfcQofx`ly6~DNGYC!zt>EVdgj5r4Bg& literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..08251464424997c2a8d0c2a5bcf506fffcd41e9b GIT binary patch literal 439 zcmb`Dy-ve06ot=C^8+E!iiwpC81TXdLV{FCs1XaOyPH_8t6(GB;k}rU7>~l&$oBIv{b|dG6{xC%SEv z6Qwn^Q$bC&Uv1eXA%C=;tJR(E#~%Ii=X@<+Wq}w8;r`zy6K?+2>&NyuM#RVMA93)8 ktSLJ&cpy1@2fZ##Wx#fuD!{FG}ITqB_+R7!l z?Oxvqr0agLm42iUxA-%=YSo*{5Md^8|L-LB4t}yzrje_%)s>IVFyTK5NATq!t}!dg gHIUim2gEyz2@-ze5hgfbo&7H05Gi*8N8?tu148j!uK)l5 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/ChainofResponsibilityDemo/Complaint.class new file mode 100644 index 0000000000000000000000000000000000000000..24f937e930483c22b274e09eba29a12451c52720 GIT binary patch literal 2171 zcmbVM+fvg|6kVrH>4kC;kgHd`m2in7S9NfPB8nD8aqz{L0LKzc6Q)UV_#5AR@j+)q zXMFGj{3yqDlC&}fW{3|tIcI0DwfEY4=luTj^A~_A%;%87L>6fnYPqeJJ8GHC;V!1q zm`-CxAYCyXvn;Cu(BrC2_bXgC6^jVKKPx{4L^@-`&+p0Cmf=aM$-8Z-1ubO*N z3d+m3_su-cVIYqVbmoyoE{|5^^JqhR8nb!KVL;&JneKx)lPS=tVjH&U zl#LggyK>9twQ;5}O+&`tj3wgmHdNs%@3suDK8+6*afK2Uys3+Cg3uXQ1=V-)+|84X zM1bkhe?aI%he+sShe+z>Ej9XS8+tJ zQ<)@!oysLiYd_Ip6?XJ^9Xx zN=m%ac<0l4NAma2=NEtrEKD+RI#LehQ+y&M}N$mxAIM92oVwP{w7q2 oLtGrl8nY7{4@74lpmzoV64sb8_`wcqw&^46B4tO|V-1k~0^+o0UjP6A literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..5dd91cd6a3d3c6d201d344313c9237164216bf07 GIT binary patch literal 387 zcmb`DKTE|h6vfZ&>mRMv_i%A`QwOuSDGpXdr1%Eq?P(ioN}EcO`n{Y42S0!xO1v#^ zb2Wj(JwI~KfqegbegU|^D#Zf(2@Vo03GtOS+FuhEC#M@im=CogEDLSa^9Qs$!}rkU$i4U6sjJDA57C~Q7fk#^D4bp)`+~5&fU&P+>DM>ofG-c_tMlN zw@P}owzaZbbV*2`hS65)PEV~zf1jMU@=az45fSeHtCz5vVnruSBi3cBDvx6X{87^( mzTC$evlFuiqO%XsJA(iTYs?tDu)~_obA(-_>1lXXk5%FgJ~4Se8o5r*WvHeHB$t z=D0Mq=-0xkiFY#e8|4@tOWBOv8{Kw_H`1wAZ-w{LYM%GPxnfrQZge!&Ii8zg5W3-o zHQPeD&5o}b(ibz@T0W?$^5oC`WhdT5h7b|M{l7FatfrZ~7rN!oRVQnYQv~!s(_*x# lj4~$TGXv4Z2iQA_010JG8uVa~GMmp4_K^}X98d^AtS#y=+;z#1a zAK;HN&Mx?IG{#MK+IKpAW~S}i`^zhUZLHeJU_OU5YBmM@2pKIMoT+XQowIbJe+aAMIO9s;HGwe40L|E@L zq}$3945gk7#Bp>z5aBr=_~fbdl*|1-4`r+;&a}Cbn&J3&=?)`JRIQ!PxMdY~#I^ct z;LAy!6tytM7YDAZqQEeu8tWHS+ojKk42-7snTkSJbY)!H{NxC}2%95*%L|xBy?`lX zvsfvhggV2&)=764=W%=<44sp~NVwxl=@hsAaDnMHdK(#fD~x`snyf|hY2?V-q`IUn z8tvvYSaahM)_oF_Cp&`_*%A@T6hDgssoFRiMOuwNJE79~QCxY#JfbmX=2NZa1FR>c e>USh9d_$|GY6M;Q0nJaKR+6kj5Qe#AU-bispSrF9 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/DecoratorDemo/VIPCashierDecorator.class new file mode 100644 index 0000000000000000000000000000000000000000..6700c7f2fa933aaeb4adedd956183d5619e76a19 GIT binary patch literal 1605 zcma)6-%}e^6#i}kY)F^1gwmp|RjP#~ZCTM)i-}ZzSVe*2;LvH`mgJf)F1vAei|yS{UDkV6-z9LeK_8T6F3<_R}czb4xn4YE5h_@5CNPL%jp1K3*vR037{u{HzdR* zBp4bJnxQ$p3}+(4Je5@((@0NgN{ZWB+Q_Jm!!1J@&{f+W^i0Yaw``M4s(o4GRy;bv zP&Z(vIK$py&ETWi=}B&Vs7~r+2@jh|Ri98TO`I#nI_I)xGkj26y8f(9sJ5*P@}z00 zj%f|@X;YaP8mlm<+T#rSQe`Kes$4Rht}V^3su-GV?l?N{OD4^%;V}3k(Mwe6N4lD3 zV6+Vpg}zKi*OIEEnFe)IHSEv0C90lMKUEc7HPXtsV`)a3sMTvmCQCRi<;$$2>B@Lg zH4N$@WgB z%6IPLd+v?@Gf=fBDaaXj3Kt6}xi+@(bOB+8FR<0C(eXz~*d`+URU1bcl3F?0k zcZ-%ZyIU+fO<&j!pQgr|LOiWy@o1(pMzV59TwI+d`LuW#JIxGIMmXst&DO}%k`#mM z)5K*JbVx|F3ffi)BG~O0-oP9DbE3095`7w%27!N)RdpKi9cj-`PVuA@k6uDMy|0?- zB?kCORU}?o_tU8tKKcL+vEw}2L$TgvhqT2~WL>{G|pQ1rnz9;Br P5{^mekcfS!SAXOmWBk@{ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/BeerOpener.class new file mode 100644 index 0000000000000000000000000000000000000000..518da829aab94110fa6d2139b034dbe67cf8839e GIT binary patch literal 718 zcmbu7&ubGw6vw}lq}^oQ+L{`FR-4{h56(sCq2iCW6c51)k=!S{LppIY8+K;}Z?@2a zf(MmC6)%E^UhSbu2>k>6JGv21{SU;q8)*_z<0zLf zjq^oRY+S%a3zsZhws3`E{I=4{++oPiFEkhmD}g5&CTmK|hjFJV!^fiOQ>I)CT;VrF zsM7d%vS2n;#BjeRy_lOox7vz(GEyzw6~@R=^A%r2(Q20B%W*{1DB^3v6`thFQikhY zsb#oCjnfr_T@T{Wm1`>PIXP0?Y>TJDK@lYjR~^jY8p8uOg;z(Slm7dTG#i0eO<@!b zKDZT%}=3JQ{7G?*fDy3UX3k}R+j2;UK>E-0e)4a*r6mjy5{Md~zV4t(?Gh|aSkcUIo r8456gvlP+wofa=F%UV+0Hh*vnJk@gNY_a z4Hsg(c;iO&AlNki0sb9rulxtbw+o>$@ub=0y?JlG@AGEg%+Ful9{^S`Z(|(A0;VyO zN6E%4Zd$ly;kJc44C8A`E3?j!U0AF$ZMW~Ya zGMO`bDq`5IN-yRn(9M?Oo{UsecZ4xA)V$)0DB4a_d@GKK8by3ZxWbdX61e-j9jRrw zN{y2hgIx>a(3LwX={Ye{EVsln;UJHKg}V;!;XcEbo50H>(RuGIO?BuhX=>Q*N21Ni+=aj;N408`}_0WOA8Mi%%RM%@t?oIFqs^Y`$9MQZlfh# z!|>>zpxdF+mxK9(T6-QD*`}KcVq%x7X+IV4C!{wu6H3vhK~DcA&0uvBkxvsYEnF0) z2c;^do2!d;%wvq62?^=VWXRK`$=Vcg@{Ii0(ka-Nbo(0FL=0r%kaaEuxQ-hX(ZyXA hKTKgj;VUx5>^I~_0GqZz{qppUAcZT)B<*G}^&5qa!Dave literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/DarkPlumJuiceOpener.class new file mode 100644 index 0000000000000000000000000000000000000000..317efd31f57bf599eec00670d87906686956619f GIT binary patch literal 751 zcmb_a&ubGw6#gbjyUDuRHZ@v*HodhybS{F2iij;mN@xp_+$Xz3I_d6g*qs%;S)qc3 z9>j}?7d?5c2Q4A^2l#h13!eHPh;KL2BIG18@ZP-lzW2R1Z{Ckz{qF$oVZp{Esuj%Q zY8f>f*Kpm!oP`?}ZZb?hP+FOX48_Hz7DH(*^d!SnLut8{1Z^2T6>Xn9)kf$Fza=7- z*?*iRv#Vl;&4%<6ZbIGZD(=Zxb#zY{BO}e%d=ba%xr;weVq%SBz9C%UNxm+ky&XRZ zHWTH_?Vi*!TBQ!M8-v{plgO1DDl0xW2D;J}&xC_ADi&@zxQ#muTW(gaJ_da@cppf! z8+!GOo~-o4(eUu&@Xfo^lYaX0bNc%2aPZ=^|LW(#N&4v^J>EYX>|40&U>Zm=JfZk=Iip-yytdnn;R(#ymU5 z&0zI1kWcfkEshfNMk!0_&gxPN3z(p7A|S0+fi#Vuq)iql%}7rye*-(t!69aj~+QOlFdo_x?Oz z01jAX$TBPmX*sAR%(lBLVSVXGS7~87C2VqM?0ve`?OS;W;i&bfgc5Pj>UapJh7X`nQP^3fKlfP^pHihw3j50#;nQdO!rZJd?6iL;K@HvfwY zl|bSL@S_kjPNnqFQ!LG!oj2Y$Z&&;G->*La-s6>r2D&bGJUHkwJYjgsu*>kw#d8-g z1Zp3&(fLP#%HiuvfoeY;D}h$1jrv;5M#^5uQ9{gSm_{M-(`?U z69>cGY7-xo#-xpDROg3{Bv@k4|f~~FRTB|K;w>4gvXgmOE8iUrPriqus?gR(uF4=?s%S6(s zi9f&}W&CCrC?Qy;SQ{m z{!rRsR_fCIrrW7=V2j>co!()A9v__xsT^pq@lJDzcj|}sBAC7av~G~|kS7Hkwl2V0 zzmWTUf&3H&l0}lGDGZWjl9eeq$tp>6irTjrxk>AFlxQteYW?Ur`6_l`;s7<$AQdOT z4csKhaBGqLIXV3sZ+%DM2d*$&QuS8^#H&zSmlVFB+)kw!sgwp$nyHjKsT7_{StH7N WD&=k}rIt$BAj)PcWsCaF;od)!mOU>3 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.class new file mode 100644 index 0000000000000000000000000000000000000000..3a7a9b76c84ef22cbc822bc444b6cefb2650be23 GIT binary patch literal 720 zcmbtS&rcIU6#k|yY`d%o#VY>7asv;{g~S8KsBJhkVp7xlbazswZfBd_SrTsOfkYDz zgbP70aM5_vgPNw{58&^hHJ5G`9w%8C3@+eri>EIS_GgRF~pnMT_+TZU;vmSWmgpi`) zyElW^2ZNoxlW)D@%MZg>yMzALNpJhd+mGK5-=FqhSeSEg2W5sw|NSEjQ^_^CFLaBq zHQUlP3=jW_wi+t^d^DavSnHdSksW%mASUioE!9&2e@b{$H=z_A8t2Sk(hL^OTpOR} zTv`}4rWd6yrCTeD4a{SV)`ftyI~npcZL&5+oIE2xcK0jTr?fmlHUR@!IAom>0GBXH m5v|c#^SzV|D11hynEis>Ie|?jkY1k7IZ5G+WQwX8O#cEH&&5~( literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..f1e536deb836ebbfd8b9cbbd0a1712c82bb622cf GIT binary patch literal 599 zcmb_Z%SyyR5Ukl(+!)=5{(v|2;9R_AS;4G=5cIIi-Y3bBoe(pUnfM9*k0-%{AK*uc zov;D%B#R8xOjR@8)!m<8?;ijzaqOatv4e?&se>bi!Aup(&KbI=XKRLDpcBb33RNNR ztH(%|D-q?SOhX-ud@V{<^R3vk8)X=7LYY+D>LSe)Poz<4@g%I3Wx<177_(?3eq9;L zY7D=lkg&Ss3uQJf@fn6o`YCKxQoWZj6VHO@qDc8el*!ooyH;r{%>I^OrFCu^YyO-} zxl3J@vAk9F6ed3%U(^mg^f6!v{$T=HV}c*BAI f`5V|P2_5Va)?pGcB=oj#7yC`zYw!Sv%{}@CbW^WP literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.class new file mode 100644 index 0000000000000000000000000000000000000000..2d5f4f6f53be519ab5b537bcd29dddc5ad2dfc91 GIT binary patch literal 215 zcmX^0Z`VEs1_l!bPId-%b_Nbc2F~Ej^t{B9(xOyG1`V4KE1#^yvPAuy#JqHU|D>$c zD zi6uZKdHT*diN(b(U?F{{(&Eg#)Z$`&m~J?OkwF066>N+Qj0{Xbr-J|!12dRpVPFN* FYye2$J)-~s literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..574dd63bc79feac0fbdc5b9f1e24521b578e88e4 GIT binary patch literal 603 zcmb_a%TB{E5FGav8UihaAK(TY@P%8dBGIZ6QbZ3$y*r5&9EAkg4!^+n^n}EL58$H^ z8`B=(geqid?3tB!XV?Dte0v9Qg%clb3_Toq7?1M54^GK#Ow^f euV8BuTG%6O!X%qG+{9Pn7`d+xN7W2qQE&aeMV99>>b-$N2DbsSwVnCn_jxtH+4Ntd7HgwCX8 z`%+7)%@l9x2fL`C?!racg@eZo@BUM7HE`9%GU^QP=f<3o%&;*1rO*Ab7$gksxzVSM z#41f-5ey|5w5Ss_qK0luw$l)zO3?+n?PnQ))4Bs|ZQjDT&T=F5AdNO* a)rqx1>NJ--LCLwEWcf^!Jf)+7XMX@S^5P-@ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/RealMenuSource.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/RealMenuSource.class new file mode 100644 index 0000000000000000000000000000000000000000..9df97db42abba09d08e5f4acbf327658641f1d7b GIT binary patch literal 1052 zcmb`F+iuf95QhJC4o+N`q)tO=Xn=Cefz}+aKwLCc5h763ph{eB;#IoAu_GTqJQfHN z2_znXheFIcQPU8(L0ov&JNA6@@9h8M=hyE59^j#YRaEmZamk=?IgcyY)^XK92Gty{ zsr9-FHw@gwtsH7P>N*-anhe>{kAt3Iu-XIuj@vHx`gSJ@q}P8$Umr_PMo$>ZwdK$C zV}^9gcc{3~mY#SS54$3G&AV=b^LyMq=7CiESu!1+$dKV#TR5>D`Cfk@ZAXN%?~QmA ziNLd4E)T=~BxUc#AyLE7ej&WLlgPA>1b63KQkV`;{Pzs0no?uBK6efRf4DEhw+zO# z=s+q#rNz=+by^c^*fdc<(L@E7j@u@7u*vo2JI_^go@Bp*WXu*d2&o#L)U@_&;Le9I5<{Ax9}~Vjy=Lj#ugC%s8A0%& zG6Elsgy%5q{K*JQ-k6Px3UiS^brZvSt-kal{ZUE|x!94$Ia2*y58GtvRWO{RM^jft zo=?&H8Z3$>+8t6}qqWeOfHj(5pf#Ekq&`wg!#YI^X^I(&S>&M;Du*&<&QHr|-Jl%- z5k0!`3gK3-agy literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..c0c49937b2f70929a298ab91f3b0b807b7bb0163 GIT binary patch literal 392 zcmb`D%}T^D6opSZ{n1*TL3{ys>cVW?DT2=6s?2~Rvrn7QNvVk>so-O|5?ss!_)y|) zapl@vIOKfc-V^TE_va446=pdmILvUAVakx+Xrsd|!{qFI!w}D{R1DKn8@248E9IU< z)e$)^Z7sTuaC-2+Fb-So8J4AzJrCA2t>#jB-Ix~JK_CeMEt(@G}U{)a#FcR zRa+;uY51L#3+=b-;6zZ(+ciVJw!N#>gC3Gk{=8qd;#CxgkudygFvDyZ%{xJ#T2-y8 u15OdqwuZx~D3dfL$43t&7aw5n1R`XlDPd5<9%(V&6YL`=$8bOzq4)vt@Mk6f literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.class new file mode 100644 index 0000000000000000000000000000000000000000..a68d2ea16a5f29fab1272867834f116ddcd7e68a GIT binary patch literal 395 zcmb`D%}T^D6opSZ{n1*TLGS_GsSC4lr?_y6t7^fK*{5yjq|{_cQo+Y^CAgRe@S()p z;>xwTaLD<{y(iqS@6R28D=bpXaG2mI!JHw!QCj(1hS}Nqnju`8Ml#F`rRC%BQc3$P zs-DPkVQSH@g;k^fg`wXl$50ls8MrsP?G$gMQ?1?#@1@mz*$e0L3GutZ(NyPnX&Y&u zWNmDtbjx#Vwz+bfmA9gm?b|g&x-x^U<-HoCPyRl*?8K|c5F%oD_}6HL#WA~fG$zL<4@4IqVDAJ1B&0E6P{ST+Hr*raBPGXhKpG(X0nWN;rT_o{ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..be1869af2a38ce0d4b63774fcfd3226fb3edea85 GIT binary patch literal 407 zcmb`DyH3O~5Jj)Ec|Zv4ijI;FC~!juq9BMWVzmTq?<6KT%G$_wkoYVrBnm!&k3viW z6*V5|YR;ACq51rJ{{V1?MT!}A6YM3JGsG84D}Tu_J33x7gt=)X!@N*h-VU2e+Ivy; zjT*-vOf`Q#op$0`WC#&4tp0rkhQ-*Q_hQ_! w>SXP4h=7haK1M-X$v8z~XP4rzew8`PF<-~a#s literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..f9da46838665c41883d6d23ae4dcf2598c39fd3a GIT binary patch literal 404 zcmb`DyH3O~5Jj)Ec|Zv4ii(yFC~!juq97}(2+%It-bqHmQE-s$An{pLNECbkABC6% z8hSj^)!ZY`L-YCd{sG_&ixe~LCfG|b7l<#k(f(3kc67WE2=l%sfq9_~-3*T<*?U!X zO!kYuQr$*bJ^Ei5`UmXxc{Moh>YTi_HQ5za zy{)xrer#?@d0KnR+Ps_#r0agL6hhrk-*)5FCefO+sjUk3zjWa u9)}3{a^n*mJeM_QCnpa?CvOn13<4yqF=KGS7Hc-;5w?-C6WC!5kbML64s34# literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..7bb0f0672ce10af0710971e733ea0d4f835447af GIT binary patch literal 186 zcmZ9GO$x#=6oe=BC*aDxckpdIfr{ILJwZ$!A)&mMBo(}x3lHF-#8z;jvly6Je0 z{Q+PHt+CKpDy*7rNS05bWrafgc6r6Qpy9q8Sr3n=1N4Ve^317H@dY}=gQYe**B5`z*mDwnY+b zH9n2a=6Sv>#`2{y)*7bt6Vti?O&kXB;0M@1L*UhaGA6Kf`801vQ#sZG^fyG8@96Sz z9S+vD5leG*L7lk4IpFRcYRm*$(Km?b@dcbHyg==X1#EKOw$}mYO~P+-wD|VFRBhC> zU9_=ewS z=c|;Fhce4l5_ub;Ow-NWT3RoMlPv+4&5uSJ2dn$P;_dhZn|cV!ajec`mS_dzO9??+xmj!bDp z`hG7)wcppe5!*$qt67?@m(le0)k8B}icH{B_6O`pO4pRP{) rI%bJhB9dm(_;Zx2E5{10F3-{UC%7Qc%YHCFnLQ(db1K4(od4!OiM?Mv literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Menu.class new file mode 100644 index 0000000000000000000000000000000000000000..3ec52217685f2ea7ce6bac9193bd64ff27ddb330 GIT binary patch literal 3748 zcmb_e`&-l38UK6}NKV365|05d;9W5w5bat=2kT9?K0Ja_;_On_brDjGg@onO&fP_5 zix$BPt4ydswOZY#pmGt!*4?}NrCWF34^2q^g+6=Mz2|%K4N>Z*y8HcSfqFrb@%;;oznc)?NR~fn(jxZc$c#WZ(;TS^? zLodT|h7$}Y8BQ_uF?@&Nb%xUn{S4n_IKwc&Fv#!*!&!zQhGB*ghBq0`F`Q?3i{S#p zMTWN-E-_qY_#VUe8GgWUh2bj0D8m@THHPa9HyFl6Y7?f%oRm8KnI0?Ag>AY}p$nC| z@USj?N*Ahhp~4Q&!aDW)7w?W5F%VnsM8T-DqccM~v@^l{>=bhYUXw zP~i zg#xbaE#7drT2r~6h=%I`oj?g z_Sys97rm}%#NXl)8d|lu$+tHW4N=s+_bgW}L>4s>Uu)$fB9G^T!KR(wRtmHv6{*D= zXm+_HA%CD*q#_LJLw->J!`^BIInBOEO}ZvKoW%=~PpT?e+k;IM$5u-P+!<}%=L_xj z?rR~9smdSlM;=jNbQbSXz-xnz-j+SykY6mPY_gjC;r$Erm9+XOQ2g{?qaZ7?-yc@6 z$Q|)EzEJ0F(<0I_QDCNOh~z0Js>FRC^4a^83;g-Q`-3mZ_^hh2B~>J=I~WZ$`abIy zrL&0Ta*>&eeP~qChA-2{o=^4hP{?~w96S|GAc9?6$~XlI)VWh<6Fmd*vHtkcE-~%9 zlz6QpJxxw`%$-cHT9TtPu~%;HNEc91y$9g8ogQVzFo1A7Eq(XG`BnL-? zpZ2bJN>&r6k0*LwNl%GIQS_-LJ~lPiKAD^xrYKU54V+DkzD&m|bE+8#x3TVt6*Nh!Qo*_GS;28G$l?+O!8zM|p}_@j#V@h263#s>nfB62W$`n2x0HinsuDHwV3Y#nN&o&JJ(m7JgkBw=x0PNUleewS z7a)&inI2P*QmW5pB$X;A5slQ3MIJSoMyX6>x0a8cLvPF(Uc_@q^weWVFAcqRh0f|s zPcnn~a4Zs(D!rrLy%UPqCic}5xTiMyPWE6e{nGH#@0ToCMSCX6Alfh#Jg>>kgmg*? zAr2~GHY{jCD_I0+R!F1x%Nm1nl|}_YLX)P=Az#$(rKNEjX^rImPRRreCDSl^CXjUl z*(LU^w_x%Zx!LW>;>_*I<`%cd#I0_Rndi7YjH_;s-NY9Wnt3iE<2FJIw-Z|VV!|BG z301y?a1nP9=JGs38_y@S^QDA~`7%PzmlH1GD+nFDfH03266W)jgiHAY=?+D?@bUYjbi$3=IWMBS0Boe&lM5T{N(ELJ zj-$vh0H@(9iVf2wzl+TXk<}U)Ntc5#A}|!kaJei1QD=^BXJFu(7b zF}SC(n{MRi_?~e*E!-DO;qwN(gZgoJNX4JIU%z)8Ul_-;XSh_<^8 zJ7|0g6>&2+l!wPb;uX*@>>e(4$%5ht_JFq(Z! ItH!tg2YY{pbN~PV literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/OrderClone.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/OrderClone.class new file mode 100644 index 0000000000000000000000000000000000000000..0d2fd1d55986d164c765825f77541e969452af5e GIT binary patch literal 1871 zcmb_dYflqF6g{&o-BMPOhxis>NGa(00ACo^Fp0SW99*_BS%8Jh-RQxT3|9)c zifb}lmw+2KrVHrCjE$Q%W^LS3$oodu%YJMW_LbMYm!8`+e$5rjv_ki?zZQ6=8EJ(l z+uSo{U2VE14A$0tx2j`CHauf=6u5IWFOKIElY6%r`+<&QcPR=@XkIt;g0Abpg!8%{ zx(~=cJxivpM&wt>qUIHHGk)NkS%sKiJrJKr-9-6PgS&#hunV`doi|^HHh0=WTL);Tlio2Fi~?NP z5q(F?QzkwEfl0dZQRG!LPVxzJps6>d6`y8Xv6vfiVMA8(`^ULM_G{sq>it@SA=x<^TWy literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/CheckOutState.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/CheckOutState.class new file mode 100644 index 0000000000000000000000000000000000000000..68d812c50369667e87da58cade57ba495ae75b9a GIT binary patch literal 1142 zcmbVMOHUI~6#g!K%rFcs7O3w>Rj^QHd^9EoL)12`s*;qDxV*GCWuTpDX6}%<)2$0P zZdkCOYZw=CNk`7WWn9s4)qozQOsTwS4c9c}8It#H$Ce8WvHZ*mL%ihH1w*=GJK{;u zS{2?hUu}{nQ*mp&xxzhL**#}muGv0AsUqruC0(bnZd-NX+YP79r4*iHm73i5%c0A9 z6!?Vd`&LzQDXh|(sBJtAWN6JZ=nWC+4EOT=Aub8ecd1C=OSdJwd36K5*0UJy4u--o zNz4@U<4`2-H4du9};k}PXZpN^uGfjOypqF%T#L!Op%1-7+DtW zjP}Ir4%pW)e1c>$aw0>z+0(}{K^Aq5EJ<}(B2I9?bfJTx3B72u zI}#r5&+ks(o$vGO{R6-`<|&4lCYU8SVu&x5R{n}%xH#D`M4721!!%b~-gVnT+DB2e zMCQ3EMY|DJ_4y7){z*B8ESFWsz0q}}cqN^x^|SC^TFtXoICm2eUv-XDo#SgSyyRKu zyxB?{vL(Z~mOjJ`7mL3sK1k~f4cRFz`yZrh)7etqs<8EMDF~l6;zdjlVZ?C#@0A&5 zy&i9cuK9h@$kIp07|?P1Hvk>&jrhJ7L+ Jb`ZJ`zX8z|cTxZV literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/EatState.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/EatState.class new file mode 100644 index 0000000000000000000000000000000000000000..3620d7c306264750e5a02e59d841968c6ac94256 GIT binary patch literal 1130 zcmbVMOHUI~6#i~sGn8qI1?u}z6>O<8J{l7PY19I%sw5>%TwdCnGSJR6Gj~kf>DGmD z$%2i>L{|zfN}>rr!2eMQf5Lcfr*%PGklw|)=XJkx?z!L0?>|2e02EP-BY{hCT*j5y z;}W@Ojo~V;>Bz=$9XB-Gj6)AnW>ns+hFcnP46#Mawq%JRoXgi3B4wu`7*Z9>7SH|m zx^UO{dW$^iic{yU8h0&a51bLXVR;OtifH(zbnND)Wj2IoHSG?UQnbuOR zzDKB@XI3Sb!d&LEuPiX=O%dn}k8-C2TNSS75Weq8r!CwC)x2IGSPTzGLt#izPxY;5 zyfe6Byz2OFU94DY2#I0O^PBt?H;_b1L*Bp~3L0)3xPy6y?D5Bg-nUOj?{|AUUyt5( z58u2!-2UF%-8=sLAuu(V2JYe>!;?`4SKbiytrvbUF$4GUz`!(842z?n4X-q6GlP-$ zpOT??suoT>9)m^%ShLzRVxr*^!-Sfz+2VH7tiJZ7Xj8!PCBt;3AF&*B)wOIIfh%~M z7&Q4GH^FvPQp=`ux!_;`DaqXoDC7NO-pVPNcY?-41_oTt*N}xlU!z(fFhvoP6J(jR zGuoqb`(S(h@EMY^z=<^J#z3FM6j{_YG9=Yui3q^~vxP1~QwVSGAo&B)bgT>Q3(|#O z&|mIjtcy4$j4Sjo6nX|xk~+ree~=-mnwud+RV@=BBB(~#IE!;s?>xn*S|&;Q1=2&f F_!p}vJ4yfm literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/LeaveState.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/LeaveState.class new file mode 100644 index 0000000000000000000000000000000000000000..f157fb62bdafab7d080d33951057d1449d761d9f GIT binary patch literal 778 zcmbtS%SyvQ6g^XGlg4O$zu&9s!r6!*iul4+5TW9JY=<}{O(ZiB-1#fIa4G0QLB$X7 zKZ^Jh;!Rp{<3cox`#AUBGdE}E_2cmcz%u3?6fjuC5Qc4xI2gs4g>efL425+SDzm}R zQC>J=$nQio$x!lCDEE`bv5XJJaX?7F7ga@YBx053Z7^?6lxEoUWG&$)3jMm`HK~;! zo(f}R9P*t&XuX?3d^^#^sx_||VI=pYIFnhp#$fx>WHG~P`FC^&GS(5DkZ2P%WW1KH zZ&%wH!^+=S7@SI!#8tVc(%&w9Z@E+#XTpUA+rp%aDNIxO{qm)GbJcvfd%J#WK3`av zaWRWIhK>J8!m#xhf-f=JQud}R^FV|?ubgWm8+6T4Vi<cYAWVqExWGM-apcj2aL(i7790ooCy&=$^ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/OrderState.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/OrderState.class new file mode 100644 index 0000000000000000000000000000000000000000..60fd31df5c549f54779f0a0c798ee54089aa5747 GIT binary patch literal 1132 zcmbVL$!-%t5Pj`!?8(>;PGa`OkOU`&42y+?0#P7QP6i@53gXzYTV{eiW6ks+aRZJ> za6`%=7r4NQ?cfNI@&WvZWAPJ+>KQ{s#KCeOs%z_4)zz}NQNm>DsNiDc@0H|#0|@~AdGpmwIVcv7=!VT1UhGav?KxepK91Lz%xSm55d`~(p;m)h}leNCZaBVmghBWn2 zdvu4l`zv517RF^JO+&jux7Pr#6-kphEX+Lv&rp-S$*P3(V~FkONNO`5V0I{)wOIIf-887 z7&P`DH^H`5Qq!h$#qeMVDaqXkDdYWR-pYW?J3!=r20)l7z@Y!ARs>8Dgybk$Chd&& z`0NhY=OBEDWFl}TkR#m)6EKExvZ!n1NvgvVF@gi8OC3bU5#8EG<_qGvL ze6WL52RbE;DD)^4dLD6-DU3iT-Js^um?A_~EgvHGs}VL1;|SF|N-?UI&yaqM^azgs E2IN;fA^-pY literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/WaitState.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/State/WaitState.class new file mode 100644 index 0000000000000000000000000000000000000000..d489bde1d8c4e5bfd835562cb1e7ab7c9fd8d4d7 GIT binary patch literal 1128 zcmbVMJ8u&~5dJoP+~snygOivy!9ao&Lym`qgc6u}&dknyGyCn_{rvsC1t5>Sg>js)a1y8D zxAWwpHHsOWHj%M#24@YNvtWiHvpR0hzR9$U}!K{c-XSkjn3~gQbfky=zf%0m?U((&1rJlubZ8#K$aq6k` z9aq3#|J*|Kp3S8Yrq$#7#Bp#F6j?hKRvm;LTL zGUNxsIPh`|2EG1yJ-HKCu7AR4p1FxYNrVHH@={f7Zbcq9B@EVQJ z2^<_#1vW7HPR$?vO<*LfVo@~BU6a%>>}|Eu~fVX<2_QjA21*7 zVYCU00>(6Y1R6b!7)cXj^fyS8)XmKjqOO(>5fN4+Y#hcBs&|yms9HKf`Z3Z+aQqLy Cv^tdl literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Customer.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Customer.class new file mode 100644 index 0000000000000000000000000000000000000000..662c4c11efcc904f3f0a640cdeefb947182206b5 GIT binary patch literal 2425 zcmbtVOK%%h6#m9`Jhn4=;Jn)MXalryCXeBfCgjo3JP1uONoYb!8(K7pM`j|&j>h9k zhz-jwK&r$Bv4aI&AW@KT0!`H)!0#ZDSoI$uzI$iJai_FcVlnq|?z!JN=R4=z`Qz{V z4*`telN3&3CW#Z66~mku=2g6tLX#(6Q1NaG32$>r951GD8SgbCi}%H_q+&URHq0cj zBIXYgxRSuCSgs}Tp_tcITvhRrf>_bqu@t1U+vY9PD44~(vFbW@F+Zswp0|oQ%TbV6 zUtC$fvb4OWprcN4vFKWP%b{j+t5SALJC;*c(C%qeT)SXo?XoM5SM7Y!bSn-mT?!pf zWvyJra7)Gfwr%9BGBtNi*R`CYF;_6l<#{PGR)}4q$hR{&P1u&e>Z)tHgq~{*YPM3g zi&nYJKzXeODR)GTxwc?LnI{2LcF}gH6-;F6!uI)jrX--If1QAHr5pjjZj5dM$S zO1LF2%?dgL+{c?EwOXn;Th@XtGT9P1H!RvnLm!4UoWk=OUJ%2Jc!`}OJ5094jN_P} ziQdp~8fO$tH`D?l{+Av0rlecLD|l7IS)5aGO~ZMNskp9T6dM}Gv7w+R+}yJjyC6He z{*)Zzs@={cX#>JDHy6(@cY~^wYu#4?6Kw^(+>cjco+hG^zyAf$wxkph^P*(BBDU# z%o>q13jzu?#o5dJm|D4Jb~&eb)`twoe(pX;6fw@H^?fM%Kot>vu!^WYR7FfbK-0B- z#H&z$kpMc!Q#1{9@KPs|=t3*Hx$B|n6Byu$?!jRYL);Nqx~a&Oa5N%U!qupBWY~9P zR_=jz>Bs>Rw4AIWb!@qn8es4-qO>t+VNK(0-tny|Fz}j>XV8*3Ytny3^F1yibWQLk zguQi_n`)O|#~c3TX_^wo;(A{d&BrdJr2A+28$Blxy5&Az3pOq~h!_gqw1OeOp?+_zzf)AMXGF literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Gender.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Gender.class new file mode 100644 index 0000000000000000000000000000000000000000..9207a1a83afa15bcca5bfadc8ed97adec08c75bc GIT binary patch literal 1112 zcmbVL?{Csj6g`g?3SAi+D!MtHKc-TqbQ%^vK$a~NrlvX*lw|Q!fhU%f*QK;e{I8TH z&S*6I>>p*kuMo$gU*t9E>wEXSd(J)Y_UEs!KLAv)k%5Xe9d~e7!=i?JIt&!$%SkJi}cOxtGMX&E#T|RVs;?N009tdmKbB4nw@s{<92SZ<2 zdt7vRP-RFp>f`g;T5HFCQ*SbCzMV1Ek>f>t$ndym&X_{o^}C!QXS;&Gj0SBUyms0i z?PziC{dWvci+0~RaxBjgJ*yc8uIN?G*#zfpzvFl_7fC%${vyfReSGeI8 zL*XAHo|!GWjPSin4rH2SzY|6QWm1YVkgj#S$>GLS>bi&qwOQ0}(cS4yKMFd$;Yx?H z^}(U%f8e|!oclEql`hw&sREbZV!(X8tV~oNQmg6|N zK`6=i5DGnjR$5;O{zMDnyR*H>d}BO*ujO7@2sX qtMOtk`JF<_hS6ot=C^J8PQrElO)T{sBt6gMrdf-YLRpCm&%A}1t5 zS(Uby{ay|__&*r?gLZ`5QZ=LS*0h}#jdHp*Z_;};7_si9bDIf?owdCa8|@DFgnVnq zp;k{il+Oda>EydC5F;Uoe-;v!AuW1oTJchKs`j`*#E*s{UanT8hILnxjo-^ku0lYQG^Y&dzs)Fn6^gEDLSb{rFs}ek)7E zVFc5e`@bWIu&QTXg^c literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Table.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Table.class new file mode 100644 index 0000000000000000000000000000000000000000..ab53d8367abd8d391831e788e16476283f3c875c GIT binary patch literal 326 zcmb7LwAK?FTJ7<#lggWe94tVr``Nn~22LIpal)-Vn+sH;t{j z*K>Or>BS)5WQ7zN;qt$ggw-4uM%rFHHiK#dPLS}g^AIohvgYhW^gwq00eWYUpkU1z Ug9Cf4RlGCoqhv=oU`Hq)$ literal 0 HcmV?d00001 From e60225b4971e1def56d7a9c0ad379a9668e101d4 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 22:42:31 +0800 Subject: [PATCH 16/22] 22:42 --- .../src/edu/tongji/designpattern/Main.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 74b792e..35afdaf 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,10 +1,10 @@ package edu.tongji.designpattern; -//import edu.tongji.designpattern.ClassDesign.*; +import edu.tongji.designpattern.ClassDesign.*; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; -//import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Person.*; @@ -117,7 +117,7 @@ public static void main(String[] args) { // Menu menu = Menu.getInstance(); // menu.showMenu(); //观察者模式测试 - Order order= new Order(); + /*Order order= new Order(); Employee waiter2 = new Waiter(24,new FloorAirConditioner(),order); Employee cook2= new Cook(24,new FloorAirConditioner(),order); order.setOrderState(0); @@ -129,7 +129,7 @@ public static void main(String[] args) { items.add(new Item("酸梅汁",20.2)); items.add(new Item("百威啤酒",20.2)); order.setItemList(items); - ((Waiter) waiter2).getDrinkList(order); + ((Waiter) waiter2).getDrinkList(order);*/ } } From 846f159438c4d6933ac59c42a84014628c59c0e7 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 22:55:22 +0800 Subject: [PATCH 17/22] 22:54 --- .../src/edu/tongji/designpattern/Main.java | 6 ++---- .../edu/tongji/designpattern/Main.class | Bin 3647 -> 3647 bytes 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 35afdaf..4bafb45 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,10 +1,8 @@ package edu.tongji.designpattern; -import edu.tongji.designpattern.ClassDesign.*; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; -import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Menu; import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Person.*; @@ -117,7 +115,7 @@ public static void main(String[] args) { // Menu menu = Menu.getInstance(); // menu.showMenu(); //观察者模式测试 - /*Order order= new Order(); + Order order= new Order(); Employee waiter2 = new Waiter(24,new FloorAirConditioner(),order); Employee cook2= new Cook(24,new FloorAirConditioner(),order); order.setOrderState(0); @@ -129,7 +127,7 @@ public static void main(String[] args) { items.add(new Item("酸梅汁",20.2)); items.add(new Item("百威啤酒",20.2)); order.setItemList(items); - ((Waiter) waiter2).getDrinkList(order);*/ + ((Waiter) waiter2).getDrinkList(order); } } diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class index 53a6e9770900a83fc67e810ba1d206205deee2a4..f451ff11305ebd6bf2bd9d39d986851b755fb2e8 100644 GIT binary patch delta 185 zcmWNID-S^d7(mb07Wn6R-8I6Jg9_l6VWY+moz@|_$d=WBS?cNZDMqYGa$j3 z6l=ZOli^I38#(U!@u0|)5-%!zsPd)84^5yeMtb6*FR3sCDKL~eBWW_078B_*l@&AD OF_!}iIkDVqmE#`)*&{{( delta 185 zcmWNII}5>a7)H;#5i*$YcfXV(%C!(BlEH`IGm!f|gTZ35FtJiTfNVCS(Wq=jn_p*n z>OAMFUA42(Am)q7@RqR^9X8C^v7o8tz^Mq}B7~b59uj!T;-i3{iZV6AG>On6N>@FG zBw3SUPnt6sZsfR==b?%xMP8KnQ0A-ZA60>l=;?}+p2UOnCC5O@jHJ$38cd|kR94Jn O$6O99 Date: Mon, 28 Oct 2019 23:37:18 +0800 Subject: [PATCH 18/22] =?UTF-8?q?23=EF=BC=9A36?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DesignPatternProject/src/edu/tongji/designpattern/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 4bafb45..33a4d91 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,4 +1,4 @@ -package edu.tongji.designpattern; +/*package edu.tongji.designpattern; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; @@ -130,4 +130,4 @@ public static void main(String[] args) { ((Waiter) waiter2).getDrinkList(order); } -} +}*/ From ce0bb9ff66293c1419f45b248b8aa2c54a8202e1 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 23:47:31 +0800 Subject: [PATCH 19/22] delete --- .../src/edu/tongji/designpattern/Main.java | 133 ------------------ 1 file changed, 133 deletions(-) delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/Main.java diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java deleted file mode 100644 index 33a4d91..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ /dev/null @@ -1,133 +0,0 @@ -/*package edu.tongji.designpattern; -import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; -import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; -import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; -import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; -import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; -import edu.tongji.designpattern.ClassDesign.Order.Order; -import edu.tongji.designpattern.ClassDesign.Person.*; - -import java.util.ArrayList; -import java.util.List; - -public class Main { - - public static void main(String[] args) { - - - //test for StatePattern - //初始时根据时间不同来让顾客的状态发生变化 - //感觉需要有一个更好的办法 - //顾客的点餐、等待、就餐等状态之间的变化需要的参数应当不是同一个 - //或者是同一个参数(时间),但如何传、由谁传递需要决定 - Customer customer= new Customer(); - customer.setTime(8); - customer.getState(); - customer.setTime(9); - customer.getState(); - customer.setTime(11); - customer.getState(); - customer.setTime(21); - customer.getState(); - customer.setTime(31); - customer.getState(); - customer.setTime(41); - customer.getState(); - - - - - //test for BridgePattern - //注册不同的职工来调用同一个接口API的不同实体类 - Employee waiter1 = new Waiter(24,new FloorAirConditioner(),new Order()); - Employee manager = new Manager(25,new HangingAirConditioner()); - - waiter1.changeTmp(); - manager.changeTmp(); - - - //test for CompositePattern - //注册的四名顾客 - Customer customer1=new Customer("张先生","男",1); - Customer customer2=new Customer("张女士","男",1); - Customer customer3=new Customer("张先生","女",0); - Customer customer4=new Customer("张女士","女",0); - - //通过是否为VIP将VIP顾客和非VIP顾客加入不同的List里面 - //感觉需要更好的划分方法(或者应该有判断语句来自动划分顾客种类? - customer1.add(customer2); - customer3.add(customer4); - - System.out.println(customer1); - System.out.println(customer3); - -//test for ProxyPattern - MenuSource source=new ProxyMenuSource("pictureOfDish.jpg"); - //资源文件需要从磁盘加载 - source.show(); - System.out.println(" "); - //资源文件不需要从磁盘加载 - source.show(); - - - - //打折的测试 - //RealDiscount realDiscount = new RealDiscount("A"); - //System.out.printf("discount = "+realDiscount.getDiscount()); - - //投诉处理的测试 -// Manager manager = Manager.getInstance(); -// Waiter waiter = new Waiter(); -// -// Complaint complaint = new Complaint(1, manager, waiter); -// complaint.setCurHanlder(); -// complaint.getEmployee().settleComplaint(); -// -// Complaint complaint1 = new Complaint(3, manager, waiter); -// complaint1.setCurHanlder(); -// complaint1.settleProblem(); - - //结账处理的测试 -// Order order = new Order(); -// order.setPrice(100.0); -// Cashier cashier = new Cashier(order, "N"); -// -// VIPCashierDecorator vipCashierDecorator = new VIPCashierDecorator(cashier); -// vipCashierDecorator.settleAccount(); - - - //原型和备忘录模式的测试 -// Order order = new Order(); -// order.setPrice(100.0); -// -// OrderClone orderClone = new OrderClone(order); -// -// OrderClone orderClone1 = (OrderClone)orderClone.clone(); -// Memento memento = new Memento(); -// memento.addOrderClone(orderClone1); -// //memento.getOrderClone(1); -// int length = memento.getSize(); -// System.out.println(memento.getOrderClone(length-1).getPrice()); - - - - //输出菜单测试 -// Menu menu = Menu.getInstance(); -// menu.showMenu(); - //观察者模式测试 - Order order= new Order(); - Employee waiter2 = new Waiter(24,new FloorAirConditioner(),order); - Employee cook2= new Cook(24,new FloorAirConditioner(),order); - order.setOrderState(0); - order.setOrderState(1); - //facade测试 - List items=new ArrayList<>(); - items.add(new Item("可乐",20.2)); - items.add(new Item("雪碧",20.2)); - items.add(new Item("酸梅汁",20.2)); - items.add(new Item("百威啤酒",20.2)); - order.setItemList(items); - ((Waiter) waiter2).getDrinkList(order); - - } -}*/ From 9d0459b7019bc50cd27bfca99165675f90f2a076 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 23:55:01 +0800 Subject: [PATCH 20/22] =?UTF-8?q?23=EF=BC=9A54?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DesignPatternProject/src/edu/tongji/designpattern/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 33a4d91..4bafb45 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,4 +1,4 @@ -/*package edu.tongji.designpattern; +package edu.tongji.designpattern; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; @@ -130,4 +130,4 @@ public static void main(String[] args) { ((Waiter) waiter2).getDrinkList(order); } -}*/ +} From ae6f46cc1e982bc4a075440bd3609d84a5afd6cf Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Mon, 28 Oct 2019 23:56:54 +0800 Subject: [PATCH 21/22] =?UTF-8?q?23=EF=BC=9A56?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DesignPatternProject/src/edu/tongji/designpattern/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 33a4d91..4bafb45 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,4 +1,4 @@ -/*package edu.tongji.designpattern; +package edu.tongji.designpattern; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.FloorAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.HangingAirConditioner; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; @@ -130,4 +130,4 @@ public static void main(String[] args) { ((Waiter) waiter2).getDrinkList(order); } -}*/ +} From b342b4783fe6f796c18ecee1edf58c38f37ebc70 Mon Sep 17 00:00:00 2001 From: ruanbyao <39271671+ruanbyao@users.noreply.github.com> Date: Wed, 30 Oct 2019 19:15:42 +0800 Subject: [PATCH 22/22] 19:15 --- DesignPatternProject/.idea/misc.xml | 2 +- DesignPatternProject/.idea/vcs.xml | 1 + DesignPatternProject/.idea/workspace.xml | 2 +- .../ClassDesign/Business/Facade/FacadeDemo.java | 13 ------------- 4 files changed, 3 insertions(+), 15 deletions(-) delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/FacadeDemo.java diff --git a/DesignPatternProject/.idea/misc.xml b/DesignPatternProject/.idea/misc.xml index 61e5329..876b2a6 100644 --- a/DesignPatternProject/.idea/misc.xml +++ b/DesignPatternProject/.idea/misc.xml @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/DesignPatternProject/.idea/vcs.xml b/DesignPatternProject/.idea/vcs.xml index b2bdec2..64713b8 100644 --- a/DesignPatternProject/.idea/vcs.xml +++ b/DesignPatternProject/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/DesignPatternProject/.idea/workspace.xml b/DesignPatternProject/.idea/workspace.xml index 0171a73..aef4b7d 100644 --- a/DesignPatternProject/.idea/workspace.xml +++ b/DesignPatternProject/.idea/workspace.xml @@ -24,7 +24,7 @@ -