From 06c15cc1ca5948f63f524d3cfdef008474b34160 Mon Sep 17 00:00:00 2001 From: linpx Date: Mon, 28 Oct 2019 20:21:51 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9A=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=EF=BC=9A=20=E7=8A=B6=E6=80=81=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E3=80=81=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F=E3=80=81=E7=BB=84?= =?UTF-8?q?=E5=90=88=E6=A8=A1=E5=BC=8F=E3=80=81=E6=A1=A5=E6=8E=A5=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=85=B7=E4=BD=93=E7=9A=84=E4=BB=A3=E7=A0=81=E9=83=A8?= =?UTF-8?q?=E5=88=86=EF=BC=8C=E5=85=B6=E4=B8=ADmain=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E4=B8=AD=E4=B9=9F=E5=86=99=E4=BA=86=E6=B5=8B=E8=AF=95=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=20=E6=9C=AA=E6=B7=BB=E5=8A=A0=E9=83=A8=E5=88=86?= =?UTF-8?q?=EF=BC=9A=20=E5=BB=BA=E9=80=A0=E8=80=85=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=EF=BC=9A=E6=88=91=E8=A7=89=E5=BE=97=E8=87=AA=E5=B7=B1=E6=9C=80?= =?UTF-8?q?=E5=88=9D=E7=9A=84=E6=83=B3=E6=B3=95=E5=92=8C=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E8=A6=81=E6=B1=82=E6=9C=89=E6=89=80=E4=B8=8D=E7=AC=A6=EF=BC=8C?= =?UTF-8?q?=E6=89=80=E4=BB=A5=E9=9C=80=E8=A6=81=E9=87=8D=E6=96=B0=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E4=B8=80=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/Builder/ComboBuilder.java | 18 ++++++++++++++ .../Builder/ConcreteComboBuilderA.java | 23 ++++++++++++++++++ .../Builder/ConcreteComboBuilderB.java | 23 ++++++++++++++++++ .../Business/Builder/ConcreteDishBuilder.java | 18 -------------- .../Business/Builder/Director.java | 20 ++++++++++++++++ .../Business/Builder/DishBuilder.java | 16 ------------- .../ClassDesign/Tools/Combo.java | 24 +++++++++++++++++++ .../src/edu/tongji/designpattern/Main.java | 19 +++++++++++++++ 8 files changed, 127 insertions(+), 34 deletions(-) create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ComboBuilder.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.java delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.java delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/DishBuilder.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Combo.java diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ComboBuilder.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ComboBuilder.java new file mode 100644 index 0000000..0b446af --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ComboBuilder.java @@ -0,0 +1,18 @@ +package edu.tongji.designpattern.ClassDesign.Business.Builder; + +import edu.tongji.designpattern.ClassDesign.Tools.Combo; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + + + +public abstract class ComboBuilder { + protected Combo combo=new Combo(); + public abstract void buildDishA(); + public abstract void buildDishB(); + public abstract void buildDrink(); + public abstract void buildPrice(); + public Combo getResult(){ + return combo; + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.java new file mode 100644 index 0000000..1cd09c9 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.java @@ -0,0 +1,23 @@ +package edu.tongji.designpattern.ClassDesign.Business.Builder; + +public class ConcreteComboBuilderA extends ComboBuilder { + @Override + public void buildDishA() { + combo.setDishA("蒸鱼"); + } + + @Override + public void buildDishB() { + combo.setDishB("生菜沙拉"); + + } + @Override + public void buildDrink() { + combo.setDrink("可乐"); + } + + @Override + public void buildPrice() { + combo.setPrice("40"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.java new file mode 100644 index 0000000..1b7f970 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.java @@ -0,0 +1,23 @@ +package edu.tongji.designpattern.ClassDesign.Business.Builder; + +public class ConcreteComboBuilderB extends ComboBuilder{ + @Override + public void buildDishA() { + combo.setDishA("蒸肉"); + } + + @Override + public void buildDishB() { + combo.setDishB("番茄沙拉"); + + } + @Override + public void buildDrink() { + combo.setDrink("雪碧"); + } + + @Override + public void buildPrice() { + combo.setPrice("41"); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.java deleted file mode 100644 index 6d2c73d..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteDishBuilder.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.tongji.designpattern.ClassDesign.Business.Builder; - -public class ConcreteDishBuilder extends DishBuilder{ -// @Override -// public void buildName() { -// dish.setName(""); -// } -// -// @Override -// public void buildPrice() { -// -// } -// -// @Override -// public void buildCategory() { -// -// } -} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.java new file mode 100644 index 0000000..7101f2a --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.java @@ -0,0 +1,20 @@ +package edu.tongji.designpattern.ClassDesign.Business.Builder; + +import edu.tongji.designpattern.ClassDesign.Tools.Combo; + +public class Director { + private ComboBuilder comboBuilder; + public Director(ComboBuilder comboBuilder){ + this.comboBuilder=comboBuilder; + } + + public Combo construct(){ + System.out.println("套餐内容:"); + comboBuilder.buildDishA(); + comboBuilder.buildDishB(); + comboBuilder.buildDrink(); + comboBuilder.buildPrice(); + return comboBuilder.getResult(); + } + +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/DishBuilder.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/DishBuilder.java deleted file mode 100644 index e304315..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Builder/DishBuilder.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.tongji.designpattern.ClassDesign.Business.Builder; - -import edu.tongji.designpattern.ClassDesign.Tools.Dish; - - - -abstract class DishBuilder { -// protected Dish dish=new Dish(); -// public abstract void buildName(); -// public abstract void buildPrice(); -// public abstract void buildCategory(); -// public Dish getResule(){ -// return dish; -// } - -} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Combo.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Combo.java new file mode 100644 index 0000000..b3ee787 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Combo.java @@ -0,0 +1,24 @@ +package edu.tongji.designpattern.ClassDesign.Tools; + +public class Combo { + private String dishA; + private String dishB; + private String drink; + private String price; + + public void setDishA(String dishA) { + System.out.println("热菜:"+dishA+" "); + } + + public void setDishB(String dishB) { + System.out.println("冷菜:"+dishB+" "); + } + + public void setDrink(String drink) { + System.out.println("饮料:"+drink+" "); + } + + public void setPrice(String price){ + System.out.println("总价:"+price+" "); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 26a332c..882b3a8 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -2,12 +2,18 @@ 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.Builder.ComboBuilder; +import edu.tongji.designpattern.ClassDesign.Business.Builder.ConcreteComboBuilderA; +import edu.tongji.designpattern.ClassDesign.Business.Builder.ConcreteComboBuilderB; +import edu.tongji.designpattern.ClassDesign.Business.Builder.Director; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; 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.Tools.Combo; +import javafx.scene.control.cell.ComboBoxTableCellBuilder; public class Main { @@ -68,5 +74,18 @@ public static void main(String[] args) { //资源文件不需要从磁盘加载 source.show(); + +//test for BuilderPattern + ComboBuilder comboBuilder1= new ConcreteComboBuilderA(); + ComboBuilder comboBuilder2= new ConcreteComboBuilderB(); + Director director1 =new Director(comboBuilder1); + Director director2 =new Director(comboBuilder2); + Combo comboA=director1.construct(); + Combo comboB=director2.construct(); + + + + + } } From 6b48577e6a4e499bef9c5984e8057dcca08cab2b Mon Sep 17 00:00:00 2001 From: Eyisheng Date: Mon, 28 Oct 2019 20:33:39 +0800 Subject: [PATCH 2/8] commit --- .../Business/Command/AddDishCommand.java | 15 +++- .../Business/Command/ConfirmOrderCommand.java | 12 ++- .../Business/Command/CreateOrderCommand.java | 13 +++- .../Business/Command/DropDishCommand.java | 13 +++- .../Business/Command/OrderPadCommand.java | 15 +++- .../Business/Iterator/DishIterator.java | 48 +++++++++++- .../Business/Iterator/Iterator.java | 5 -- .../Business/Iterator/MyIterator.java | 10 +++ .../Business/Iterator/OrderIterator.java | 50 ++++++++++++- .../OrderRecording/AddDishStrategy.java | 10 ++- .../OrderRecording/DropDishStragegy.java | 4 - .../OrderRecording/DropDishStrategy.java | 16 ++++ .../OrderRecording/OrderConfirmStrategy.java | 15 +++- .../OrderRecording/OrderCreateStrategy.java | 9 ++- .../OrderRecordingStrategy.java | 4 + .../ClassDesign/Order/AbstractAggregate.java | 28 +++++++ .../ClassDesign/Order/Order.java | 63 +++++++++++++++- .../ClassDesign/Order/OrderAggregate.java | 12 +++ .../{AbstractOrder.java => OrderType.java} | 3 +- .../ClassDesign/Order/UndeterminedOrder.java | 5 -- .../ClassDesign/Person/BroadcastType.java | 5 ++ .../ClassDesign/Person/Cashier.java | 8 +- .../ClassDesign/Person/Cook.java | 15 +++- .../ClassDesign/Person/Customer.java | 64 ++++++++++++++++ .../ClassDesign/Person/Employee.java | 32 ++++++-- .../ClassDesign/Person/EmployeeTitle.java | 5 ++ .../Person/Filter/CustomerCriteria.java | 11 +++ .../Filter/NonVIPCustomerCriterira.java | 24 ++++++ .../Person/Filter/VIPCustomerCriteria.java | 24 ++++++ .../ClassDesign/Person/Manager.java | 9 ++- .../ClassDesign/Person/Waiter.java | 56 +++++++++++++- .../designpattern/ClassDesign/Tools/Dish.java | 4 + .../ClassDesign/Tools/InterPhoneChannel.java | 70 ++++++++++++++++++ .../src/edu/tongji/designpattern/Main.java | 22 +++++- .../DesignPatternProject.kotlin_module | Bin 0 -> 16 bytes .../Business/Command/AddDishCommand.class | Bin 0 -> 375 bytes .../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 .../Business/Iterator/DishIterator.class | Bin 0 -> 893 bytes .../Business/Iterator/MyIterator.class | Bin 0 -> 300 bytes .../Business/Iterator/OrderIterator.class | Bin 0 -> 916 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 .../OrderRecordingStrategy.class | Bin 0 -> 186 bytes .../ClassDesign/Customer/Customer.class | Bin 341 -> 0 bytes .../ClassDesign/Order/AbstractOrder.class | Bin 350 -> 0 bytes .../Order/AbstractOrderAggregate.class | Bin 0 -> 377 bytes .../ClassDesign/Order/Order.class | Bin 366 -> 0 bytes .../ClassDesign/Order/OrderAggregate.class | Bin 0 -> 402 bytes .../ClassDesign/Order/UndeterminedOrder.class | Bin 402 -> 0 bytes .../Order/UndeterminedOrderAggregate.class | Bin 0 -> 438 bytes .../ClassDesign/Person/BroadcastType.class | Bin 0 -> 1221 bytes .../ClassDesign/Person/Cashier.class | Bin 370 -> 1008 bytes .../ClassDesign/Person/Cook.class | Bin 361 -> 1411 bytes .../ClassDesign/Person/Customer.class | Bin 0 -> 337 bytes .../ClassDesign/Person/Employee.class | Bin 337 -> 1521 bytes .../ClassDesign/Person/EmployeeTitle.class | Bin 0 -> 1259 bytes .../ClassDesign/Person/Gender.class | Bin 0 -> 1112 bytes .../ClassDesign/Person/Manager.class | Bin 370 -> 1008 bytes .../ClassDesign/Person/Waiter.class | Bin 367 -> 1190 bytes .../ClassDesign/Tools/Dish.class | Bin 0 -> 323 bytes .../ClassDesign/Tools/InterPhoneChannel.class | Bin 0 -> 3113 bytes .../ClassDesign/Tools/Table.class | Bin 0 -> 326 bytes .../edu/tongji/designpattern/Main$A.class | Bin 0 -> 638 bytes .../edu/tongji/designpattern/Main$B.class | Bin 0 -> 677 bytes .../edu/tongji/designpattern/Main$data.class | Bin 0 -> 502 bytes .../edu/tongji/designpattern/Main.class | Bin 565 -> 1238 bytes 71 files changed, 660 insertions(+), 39 deletions(-) delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.java delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.java rename DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/{AbstractOrder.java => OrderType.java} (50%) delete mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java create mode 100644 out/production/DesignPatternProject/META-INF/DesignPatternProject.kotlin_module 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/Iterator/DishIterator.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.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/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 delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Customer/Customer.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractOrder.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractOrderAggregate.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/Order.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrderAggregate.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.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/EmployeeTitle.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 create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$A.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$B.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.java index 0ee4d57..6173062 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.java @@ -1,4 +1,17 @@ package edu.tongji.designpattern.ClassDesign.Business.Command; -public class AddDishCommand { +import edu.tongji.designpattern.ClassDesign.Person.Waiter; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class AddDishCommand extends OrderPadCommand { + + public AddDishCommand(Waiter rec, Dish dish){ + super(rec); + this.dish = dish; + } + + @Override + public void execute() { + this.receiver.addDishForCustomer(this.dish); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.java index 7f968e6..5df28a5 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.java @@ -1,4 +1,14 @@ package edu.tongji.designpattern.ClassDesign.Business.Command; -public class ConfirmOrderCommand { +import edu.tongji.designpattern.ClassDesign.Person.Waiter; + +public class ConfirmOrderCommand extends OrderPadCommand{ + public ConfirmOrderCommand(Waiter rec){ + super(rec); + + } + @Override + public void execute() { + this.receiver.confirmOrderForCustomer(); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.java index bdd6a4a..bd6796a 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/CreateOrderCommand.java @@ -1,4 +1,15 @@ package edu.tongji.designpattern.ClassDesign.Business.Command; -public class CreateOrderCommand { +import edu.tongji.designpattern.ClassDesign.Business.OrderRecording.OrderCreateStrategy; +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Person.Waiter; + +public class CreateOrderCommand extends OrderPadCommand{ + public CreateOrderCommand(Waiter rec){ + super(rec); + } + @Override + public void execute() { + this.receiver.createOrderForCustomer(); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.java index c9fdab8..19b1987 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.java @@ -1,4 +1,15 @@ package edu.tongji.designpattern.ClassDesign.Business.Command; -public class DropDishCommand { +import edu.tongji.designpattern.ClassDesign.Person.Waiter; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class DropDishCommand extends OrderPadCommand{ + public DropDishCommand(Waiter rec, Dish dish){ + super(rec); + this.dish = dish; + } + @Override + public void execute() { + this.receiver.dropDishForCustomer(this.dish); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.java index 9510cbe..b29fa48 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.java @@ -1,4 +1,17 @@ package edu.tongji.designpattern.ClassDesign.Business.Command; -public interface OrderPadCommand { +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Person.Waiter; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public abstract class OrderPadCommand { + protected Waiter receiver = null; + protected Order order = null; + protected Dish dish = null; + + public OrderPadCommand(Waiter rec){ + this.receiver = rec; + } + + public abstract void execute(); } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.java index 7083ff7..e3faa29 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/DishIterator.java @@ -1,7 +1,53 @@ package edu.tongji.designpattern.ClassDesign.Business.Iterator; +import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Tools.Dish; -public class DishIterator implements Iterator { +import java.util.List; +public class DishIterator implements MyIterator { + + private Order order = null; + private List lst = null; + private int position = 0; + + public DishIterator(Order order, List dishes){ + this.order = order; + this.lst = dishes; + } + + @Override + public boolean hasNext() { + return position < (lst.size() - 1); + } + + @Override + public Dish getNext() { + if (position < lst.size()){ + return lst.get(position++); + } + System.out.println("out of bound"); + return null; + } + + @Override + public void setPosition(int i) { + if ( (i < lst.size() - 1) && (i>=0) ){ + position = i-1; + } + else { + System.out.println("out of bound"); + } + } + + public Order getOrder(){return this.order;} + + @Override + public Dish getCurrent() { + if (lst.isEmpty() || (position>=lst.size()) || (position<0) ){ + return null; + } + else + return lst.get(position); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.java deleted file mode 100644 index 0dea273..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/Iterator.java +++ /dev/null @@ -1,5 +0,0 @@ -package edu.tongji.designpattern.ClassDesign.Business.Iterator; - -public interface Iterator { - -} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.java new file mode 100644 index 0000000..803edee --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.java @@ -0,0 +1,10 @@ +package edu.tongji.designpattern.ClassDesign.Business.Iterator; + +import java.util.*; + +public interface MyIterator { + boolean hasNext(); + T getNext(); + T getCurrent(); + void setPosition(int i); +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.java index 590f907..d158f81 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Iterator/OrderIterator.java @@ -1,7 +1,55 @@ package edu.tongji.designpattern.ClassDesign.Business.Iterator; import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Order.OrderAggregate; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; -public class OrderIterator implements Iterator { +import java.util.List; + +public class OrderIterator implements MyIterator { + + private OrderAggregate agg = null; + private List lst = null; + private int position = 0; + + public OrderIterator(OrderAggregate agg, List lst){ + this.agg = agg; + this.lst = lst; + } + + @Override + public boolean hasNext() { + return position < (lst.size() - 1); + } + + @Override + public Order getNext() { + if (position < lst.size()){ + return lst.get(position++); + } + System.out.println("out of bound"); + return null; + } + + @Override + public Order getCurrent() { + if (lst.isEmpty() || (position>=lst.size()) || (position<0) ){ + return null; + } + else + return lst.get(position); + } + + @Override + public void setPosition(int i) { + if ( (i < lst.size() - 1) && (i>=0) ){ + position = i-1; + } + else { + System.out.println("out of bound"); + } + } + + public OrderAggregate getAggregate(){return this.agg;} } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.java index e61aa77..5d19962 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/AddDishStrategy.java @@ -1,4 +1,12 @@ package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; -public class AddDishStrategy { +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class AddDishStrategy implements OrderRecordingStrategy{ + @Override + public Order execute(Dish dish, Order order) { + order.addDish(dish); + return order; + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.java deleted file mode 100644 index 1f39fda..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStragegy.java +++ /dev/null @@ -1,4 +0,0 @@ -package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; - -public class DropDishStragegy { -} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.java new file mode 100644 index 0000000..bd5ef41 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.java @@ -0,0 +1,16 @@ +package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; + +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class DropDishStrategy implements OrderRecordingStrategy{ + @Override + public Order execute(Dish dish, Order order) { + if (order.removeDish(dish.getDishID())){ + System.out.println("drop dish"+dish.getDishID()+" success"); + } + else + System.out.println("dish not found"); + return order; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java index d3b1b52..01d771a 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java @@ -1,4 +1,17 @@ package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; -public class OrderConfirmStrategy { +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class OrderConfirmStrategy implements OrderRecordingStrategy{ + @Override + public Order execute(Dish dish, Order order) { + var iter = order.createIterator(); + while (iter.hasNext()){ + var item = iter.getNext(); + System.out.println("confirm dish "+item.getDishID()); + } + order.setTypeToDetermined(); + return order; + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.java index 34fca7a..e4fe528 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderCreateStrategy.java @@ -1,4 +1,11 @@ package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; -public class OrderCreateStrategy { +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +public class OrderCreateStrategy implements OrderRecordingStrategy{ + @Override + public Order execute(Dish dish, Order order) { + return new Order(); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.java index 4d9e3c7..86578b6 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderRecordingStrategy.java @@ -1,4 +1,8 @@ package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + public interface OrderRecordingStrategy { + Order execute(Dish dish, Order order); } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.java new file mode 100644 index 0000000..9225fcc --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.java @@ -0,0 +1,28 @@ +package edu.tongji.designpattern.ClassDesign.Order; + +import edu.tongji.designpattern.ClassDesign.Business.Iterator.MyIterator; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractAggregate { + protected List lst = new ArrayList(); + protected int size = 0; + + public void add(int i,T elem){ + lst.add(i,elem); + } + + public T remove(int i){ + if (lst.size() > 0) { + return lst.remove(i); + } + return null; + } + + public boolean isEmpty(){ + return lst.isEmpty(); + } + + public abstract MyIterator createIterator(); +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java index 8c7da3b..86f37a0 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java @@ -1,4 +1,65 @@ package edu.tongji.designpattern.ClassDesign.Order; -public class Order extends AbstractOrder { +import edu.tongji.designpattern.ClassDesign.Business.Iterator.DishIterator; +import edu.tongji.designpattern.ClassDesign.Business.Iterator.MyIterator; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class Order extends AbstractAggregate { + private String orderID; + private Date date; + private OrderType type = OrderType.UNDETERMINED; + private List dishes = new ArrayList<>(); + + + + public String getOrderID() { + return orderID; + } + + public Date getDate(){ + return date; + } + + public OrderType getType(){ + return type; + } + + /* + convert @undetermined-order into @order + */ + public void setTypeToDetermined(){ + this.type = OrderType.DETERMINED; + } + + + /* + add new dish to the dish array + */ + public void addDish(Dish dsh){ + dishes.add(dsh); + } + + /* + remove dish by dishID + */ + public boolean removeDish(String dishID){ + for (var dsh:dishes){ + if (dishID == dsh.getDishID()){ + return dishes.remove(dsh); + } + } + return false; + } + + public List getDishes(){return this.dishes;} + + + @Override + public MyIterator createIterator() { + return new DishIterator(this,dishes); + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.java new file mode 100644 index 0000000..d274beb --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.java @@ -0,0 +1,12 @@ +package edu.tongji.designpattern.ClassDesign.Order; + +import edu.tongji.designpattern.ClassDesign.Business.Iterator.MyIterator; +import edu.tongji.designpattern.ClassDesign.Business.Iterator.OrderIterator; + +public class OrderAggregate extends AbstractAggregate { + + @Override + public MyIterator createIterator() { + return new OrderIterator(this, lst); + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractOrder.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderType.java similarity index 50% rename from DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractOrder.java rename to DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderType.java index bfb2537..d59fc37 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/AbstractOrder.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/OrderType.java @@ -1,4 +1,5 @@ package edu.tongji.designpattern.ClassDesign.Order; -public class AbstractOrder { +public enum OrderType { + DETERMINED, UNDETERMINED } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.java deleted file mode 100644 index 9443256..0000000 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.java +++ /dev/null @@ -1,5 +0,0 @@ -package edu.tongji.designpattern.ClassDesign.Order; - -public class UndeterminedOrder extends AbstractOrder { - -} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.java new file mode 100644 index 0000000..b8c819a --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.java @@ -0,0 +1,5 @@ +package edu.tongji.designpattern.ClassDesign.Person; + +public enum BroadcastType { + MANAGER_REPORT, ALL, ALL_EMPLOYEE +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java index 3cb7a01..ec456f0 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java @@ -18,7 +18,7 @@ public void settleComplaint() { } @Override - public void getMessage() { + public void getMessage(String msg) { } @@ -26,4 +26,10 @@ public void getMessage() { public void sendMessage() { } + + @Override + public void notifyChannel(BroadcastType broadcastType, String operation) { + + } + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java index 41f155a..db8f80c 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java @@ -18,7 +18,7 @@ public void settleComplaint() { } @Override - public void getMessage() { + public void getMessage(String msg) { } @@ -26,4 +26,17 @@ public void getMessage() { public void sendMessage() { } + + @Override + protected void notifyChannel(BroadcastType broadcastType, String operation) { + try{ + if (broadcastType == BroadcastType.ALL_EMPLOYEE){ + + } + }catch (NullPointerException e){ + System.out.println(e.getMessage()); + } + } + + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java index 33cdcea..dc84810 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java @@ -1,4 +1,68 @@ package edu.tongji.designpattern.ClassDesign.Person; +import edu.tongji.designpattern.ClassDesign.Business.Command.*; +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + +enum VIPType{ + VIP,NONVIP +} + public class Customer { + private String customerName; + private Gender customerGender; + private int customerAge = 0; + private VIPType viptype = VIPType.NONVIP; + + private OrderPadCommand myCommand; + private Waiter servedWaiter; + + public void served(Waiter wt){ + this.servedWaiter = wt; + } + + public void serviceEnd(){ + this.servedWaiter.clearOrder(); + this.servedWaiter = null; + } + + private void setMyCommand(OrderPadCommand cmd){ + if (this.servedWaiter != null) + myCommand = cmd; + else + System.out.println("ERROR: no serving waiter!"); + } + + + public void setVIPType(){this.viptype = VIPType.VIP;} + public boolean isVIP(){return this.viptype == VIPType.VIP;} + + private void executeCommand(){ + this.myCommand.execute(); + } + + public void addDishDemand(Dish dish){ + AddDishCommand cmd = new AddDishCommand(this.servedWaiter,dish); + this.setMyCommand(cmd); + this.myCommand.execute(); + } + + public void dropDishDemand(Dish dish){ + DropDishCommand cmd = new DropDishCommand(this.servedWaiter,dish); + this.setMyCommand(cmd); + this.myCommand.execute(); + } + + public void createOrderDemand(Dish dish){ + CreateOrderCommand cmd = new CreateOrderCommand(this.servedWaiter); + this.setMyCommand(cmd); + this.myCommand.execute(); + } + + public void confirmOrderDemand(Dish dish){ + ConfirmOrderCommand cmd = new ConfirmOrderCommand(this.servedWaiter); + this.setMyCommand(cmd); + this.myCommand.execute(); + } + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java index dbeb360..58840a3 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java @@ -1,26 +1,42 @@ package edu.tongji.designpattern.ClassDesign.Person; -import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Order.OrderAggregate; +import edu.tongji.designpattern.ClassDesign.Tools.InterPhoneChannel; enum Gender{ MALE, FEMALE } + + public abstract class Employee { // private AirConditionerAPI airConditionerAPI; - private Order order; - private String employeeName; - private Gender employeeGender; - private Integer employeeAge; - public String employeeID; -// public InterphoneChannel myInterphoneChannel; + protected OrderAggregate order; + protected String employeeName; + protected Gender employeeGender; + protected Integer employeeAge; + protected String employeeID; + protected EmployeeTitle employeeTitle; + public InterPhoneChannel myInterphoneChannel; + + + public Employee(){ + + } public abstract void changeTmp(); public abstract void update(); public abstract void settleComplaint(); - public abstract void getMessage(); + + //// process the massage received + public abstract void getMessage(String msg); + public abstract void sendMessage(); + public Boolean setChannel(InterPhoneChannel channel){this.myInterphoneChannel = channel; return true;} + protected abstract void notifyChannel(BroadcastType broadcastType, String operation); + public EmployeeTitle getTitle(){return this.employeeTitle;} + public String getEmployeeID(){return this.employeeID;} } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.java new file mode 100644 index 0000000..bf0451f --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.java @@ -0,0 +1,5 @@ +package edu.tongji.designpattern.ClassDesign.Person; + +public enum EmployeeTitle { + MANAGER, WAITER, COOK, CASHIER +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.java new file mode 100644 index 0000000..2e0815c --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.java @@ -0,0 +1,11 @@ +package edu.tongji.designpattern.ClassDesign.Person.Filter; + +import edu.tongji.designpattern.ClassDesign.Person.Customer; + +import java.util.List; + +public abstract class CustomerCriteria { + protected List customerList = null; + public abstract void meetCriteria(); + public abstract boolean isMetCriteria(Customer customer); +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java new file mode 100644 index 0000000..be1d873 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java @@ -0,0 +1,24 @@ +package edu.tongji.designpattern.ClassDesign.Person.Filter; + +import edu.tongji.designpattern.ClassDesign.Person.Customer; + +import java.util.stream.Collectors; + +public class NonVIPCustomerCriterira extends CustomerCriteria { + @Override + public void meetCriteria() { + this.customerList = this.customerList.stream() + .filter(p->!p.isVIP()) + .collect(Collectors.toList()); + } + + @Override + public boolean isMetCriteria(Customer customer) { + this.meetCriteria(); + for (var item: this.customerList){ + if (item == customer) + return true; + } + return false; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java new file mode 100644 index 0000000..1bcce0a --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java @@ -0,0 +1,24 @@ +package edu.tongji.designpattern.ClassDesign.Person.Filter; + +import edu.tongji.designpattern.ClassDesign.Person.Customer; + +import java.util.stream.Collectors; + +public class VIPCustomerCriteria extends CustomerCriteria { + @Override + public void meetCriteria() { + this.customerList = this.customerList.stream() + .filter(p->p.isVIP()) + .collect(Collectors.toList()); + } + + @Override + public boolean isMetCriteria(Customer customer) { + this.meetCriteria(); + for (var item: this.customerList){ + if (item == customer) + return true; + } + return false; + } +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java index 1bc9689..62c0d5e 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java @@ -17,7 +17,7 @@ public void settleComplaint() { } @Override - public void getMessage() { + public void getMessage(String msg) { } @@ -25,4 +25,11 @@ public void getMessage() { public void sendMessage() { } + + @Override + protected void notifyChannel(BroadcastType broadcastType, String operation) { + + } + + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index 2bed58d..c4a108b 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -1,7 +1,21 @@ package edu.tongji.designpattern.ClassDesign.Person; +import edu.tongji.designpattern.ClassDesign.Business.OrderRecording.AddDishStrategy; +import edu.tongji.designpattern.ClassDesign.Business.OrderRecording.OrderConfirmStrategy; +import edu.tongji.designpattern.ClassDesign.Business.OrderRecording.OrderCreateStrategy; +import edu.tongji.designpattern.ClassDesign.Business.OrderRecording.*; +import edu.tongji.designpattern.ClassDesign.Order.Order; +import edu.tongji.designpattern.ClassDesign.Tools.Dish; + public class Waiter extends Employee { + private OrderRecordingStrategy strategy = null; + private Order currentOrder = null; + + public Waiter(){ + this.employeeTitle = EmployeeTitle.WAITER; + } + @Override public void changeTmp() { @@ -18,7 +32,7 @@ public void settleComplaint() { } @Override - public void getMessage() { + public void getMessage(String msg) { } @@ -26,4 +40,44 @@ public void getMessage() { public void sendMessage() { } + + @Override + protected void notifyChannel(BroadcastType broadcastType, String operation) { + + } + + + public void clearOrder(){ + this.order = null; + } + + public void createOrderForCustomer(){ + OrderCreateStrategy strategy = new OrderCreateStrategy(); + this.setStrategy(strategy); + this.currentOrder = this.strategy.execute(null,null); + } + + public void confirmOrderForCustomer(){ + OrderConfirmStrategy strategy = new OrderConfirmStrategy(); + this.setStrategy(strategy); + this.currentOrder = this.strategy.execute(null,this.currentOrder); + } + + public void addDishForCustomer(Dish dish){ + AddDishStrategy strategy = new AddDishStrategy(); + this.setStrategy(strategy); + this.currentOrder = this.strategy.execute(dish,this.currentOrder); + } + + public void dropDishForCustomer(Dish dish){ + DropDishStrategy strategy = new DropDishStrategy(); + this.setStrategy(strategy); + this.currentOrder = this.strategy.execute(dish,this.currentOrder); + } + + private void setStrategy(OrderRecordingStrategy strategy) { + this.strategy = strategy; + } + + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Dish.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Dish.java index cc853b3..7bbb190 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Dish.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/Dish.java @@ -2,4 +2,8 @@ public class Dish { + private String dishID; + + public String getDishID(){return this.dishID;} + } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java index e3ff10d..0b2daa3 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java @@ -1,4 +1,74 @@ package edu.tongji.designpattern.ClassDesign.Tools; +import edu.tongji.designpattern.ClassDesign.Person.*; +import edu.tongji.designpattern.ClassDesign.Person.Employee; + +import java.util.ArrayList; +import java.util.List; + public class InterPhoneChannel { + private Boolean status = false; + private List onlineEmployees = new ArrayList(); + public InterPhoneChannel instance = null; + + /* + singleton + */ + private InterPhoneChannel(List eArray){ + try{ + this.onlineEmployees = eArray; + if (eArray.isEmpty()) + throw new Exception("empty array"); + for (Employee e:eArray){ + if (!e.setChannel(this)){ + throw new Exception("set channel failure"); + } + } + }catch (Exception e){ + System.out.println(e); + return; + } + this.status = true; + } + public InterPhoneChannel getInstance(List eArray){ + if (instance == null){ + instance = new InterPhoneChannel(eArray); + } + return instance; + } + + /* + notify objects + */ + public Boolean notify(Employee sender, String message, BroadcastType bctype){ + if (sender == null || this.status == false){ + System.out.println("notify failure"); + return false; + } + if (bctype == BroadcastType.ALL_EMPLOYEE){ + for (Employee e:this.onlineEmployees){ + if (e.getTitle() == EmployeeTitle.WAITER){ + /// pass message + e.getMessage(message); + } + } + } + else if (bctype == BroadcastType.MANAGER_REPORT){ + for (Employee e:this.onlineEmployees){ + if (e.getTitle() == EmployeeTitle.MANAGER){ + /// pass message + e.getMessage(message); + return true; + } + } + return false; + } + else if (bctype == BroadcastType.ALL){ + for (Employee e:this.onlineEmployees){ + /// pass message + e.getMessage(message); + } + } + return true; + } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 3189d8a..291c2e3 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,12 +1,32 @@ package edu.tongji.designpattern; -//import edu.tongji.designpattern.ClassDesign.*; import edu.tongji.designpattern.ClassDesign.Person.Cook; +import java.io.Console; +import java.util.List; +import java.util.Scanner; + public class Main { + public class data{ + + } + public class A{ + public data d = new data(); + } + public class B{ + public data d = null; + public B(data d){ + this.d = d; + } + } public static void main(String[] args) { System.out.println("hello world"); + Cook c = new Cook(); + Main m = new Main(); + + List ls; + } } diff --git a/out/production/DesignPatternProject/META-INF/DesignPatternProject.kotlin_module b/out/production/DesignPatternProject/META-INF/DesignPatternProject.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..2983af70661ad375cc499ebc4da5a68ca46c532e GIT binary patch literal 16 RcmZQzU|?ooU|@t|egFVe02KfL literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..11c5022fcbb22ea3dc4db0fb8cdabbe39cecd201 GIT binary patch literal 375 zcmb`D%}T^D6opSZ{n1*TL7%{#x-d%@il8mCD!Nc+pEjYB(k9ZRzLzV(g%99E4c?a7 zxHo}AzAxk+$j|QU8^8@#DHb?RaFSrj5Z`H|{XN6t;&Q_f=2j|(WvPvN8v9BOucGS6 zoR+p0-9`+0;=K(0Ry&4uspQDLHBGCzR8BYMO?a;c!}Cr!SImk(j*g}}$8+2F!btug zWue`6kGBlziyenrt@YG+_V@a_74ITLh=`&1k3NRgG?I71H2k@0Rqb((fIeqhj5c*q j#zcH(AiDYl`yde@p^Qm`9vo0+^EtvHQX+;U$^h9fa)V!} literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..f6a5fe96db261f8d8704a59afbd121a36efdafad GIT binary patch literal 390 zcmb`Dy-vh15QJxQ`GF9)6BR8TP~egRL_tnSh=?md*E@*`juHpi4(~;UM8N~_P>9Xx zN=m%ac<0l4NAma2=NEtrEKD+RI#LehQ+y&M}N$mxAIM92oVwP{w7q2 oLtGrl8nY7{4@74lpmzoV64sb8_`wcqw&^46B4tO|V-1k~0_QPiVgLXD 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..93caf45283b7318d9cbe50a9c44decae5658e7eb GIT binary patch literal 387 zcmb`DKTE|h6vfZ&>mRMv_i%A`QwK9TC=OOcr1%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^}X98dC@S&8KvP$(`6+!8#`F1+(t}a5$6ybHK9~01&K^dmG^T5j*ma-Q%3pec-<2mS zl)I9YW;;BhfGq3+N+>fl|3Pnt^0+n(2Y+n*dpkDhfu+Hap+^^b+M4VPWt==CpV@o^ zd!fKWj%@a)h&;uGIG&{l6wjeZHiWmxhp?4;3T=YSB}fY+l5`p;+4C4#oFvN!q;MrB Ze;0m*H4bMIa3&sWp&E^t$3o;6zX8c(*DU}5 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..65e44486ecccd92e6df4de7a622802314a8e3d16 GIT binary patch literal 300 zcmZXP&1%9>5QWcJHC1ct!iPvU-ld>Y(3V1>>cXttU3G{F;ilx?h`ySOK7bEZ92F6C zG0e=zIrDS)-~R#V;?={8hbF;WYdhhsBRu)RT>6OJrEmMePog(krP@Slx=48G`h?mn zj*NCi&V-5|grP8h5cVFm?~jO3pJhe9-1EsP&iZUR%f~s)uMDZ+fscNX7 GN#h9QGEN}? 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..72828f138138923fe189e425c088b91fabadac07 GIT binary patch literal 916 zcmb_ayG{Z@6g{&%RuBad-<2I0YpEPw z83@m-h9!RHd&KH_{G5)2b``%=U8%;|34_@aUPIpNP|Y>vmej-iG+$V(Nk};)E?bt8 zme7)zbA<1UJHZFSvG`@XFFTsbi6&_k+E+B;ru? zku^JfgCF}k3g$^64l{)`G7Q!Kcm;;c?4B6Pe`KEQ0sHjtqF{*8Ukp6SCc8u#C(p>o z4&K0CC@_#98y^;tq&PK-mnj0pD_A8PfDg$BU?cJr*ePUU3Ta@Bq(#jl+4Br?bsm{1 d(~8$d$cf-r7_;Em6gW0&Yako8SVu1O8{hO+;A{W@ 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..2b747c370c8beee1b389787b3d788b895633735c GIT binary patch literal 392 zcmb`D%}T^D6opSZ{n1*TL3{ys>cT8tD1y%5s?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)vyb7v_4 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..e743db1587d6a3d30ccf826ef84f5aafd0cdfe24 GIT binary patch literal 395 zcmb`D%}T^D6opSZ{n1*TLGS_GsSC4op}260t7^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(X0n@~ 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..e80ece6d77ee50bd594ff80e054f5307d21b2a6c GIT binary patch literal 407 zcmb`DyH3O~5Jj)Ec|Zv4ijI;FC~!#uq9BMWVzmTq?<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`(x};{X5v 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..598a4fb91cb22e5c14fde22f1162fd9c6147896b GIT binary patch literal 404 zcmb`DyH3O~5Jj)Ec|Zv4ii(yFC~!#uq97}(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!5kbMLAwQO<# 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..a4d449990b164c697825b67aa85b822235fba3bb GIT binary patch literal 186 zcmZ9GJqiLb6oe=1Pr%CFJNQa_725^(1TlGpgyrp$WCgEg;Q>69xGPxb6azEG$M<~Q z9{_gH8Vil3!m8g t=+K&+kDrV7Lk_|@(=Y39e$fi+2~MpMPxU3TEu)k|HCj$ln2lXw{swqRIa&Y! literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Customer/Customer.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Customer/Customer.class deleted file mode 100644 index 8c2ba7128b8bf921f32e6a8810b3112f5059a5d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmbV{Jx;_h6oltx^8+EvuDAgmP~Z-bKr}&A5fq^9ox}=`vNp0E?nQ+}!2viF;w1tO zfGv$?KKad)Kfm5T0Gwl;V}WIc{R}HYdZmpH*M!B<@rDqWwpD~xrH#59x3zMQvL2Wm zRJM`BMmjy^9~g%x?Fko^YDW>Q>3S_%<#lJCWeCa{Q4Z4kn;D66^ucbG`!kn>{K1Z{ zQMY>9vHX2;+RGPNAVxws`(HO#?>cJcp6+u=!mED7~_p}W)rKXakzLzJ#gAd?CElz`% zy_&#}`MxkSke}_>H-Jkla?Eg;;V8qLklt#e{T*R;dbT0N%b`((d8v(Bjjxrm&$8;- z9G62a`;D}E;y)St7wrhwrD{gu2h(<1G|K7Lyh-nsHDcLI=N^I*YuhL*?knf5tbL#x zLjE+2wpNciY}t9e=;XUB5F;U6{dWanF^v(uG_6=yovJ-f5b+;Ohxqb*&Xh?629onn b&6E6ruERDtE)l?P(igN=+qA{a#LjgCD>TCB7|= zZYJ=M-;ca`AYb1fp8#&KO0mFkf|CSGLVRbe@%Mzq#pRw57JZ`#%hFi28J{cV9%a?B zIW7BIc6;f}#J@81Pi7z#rD{gud#hU`8Z{VgU!?cSSy6Oy7}m2ATh}Nj@@nu-)_$g3 zYp1mI>Xwl1`q92$ND9_1M2u%C2SA zvN3Mj&*vU6pAVxyC+;=45W{;M6<-C=(4|_2~#D6jz;>-J)DJKy!keq*j-dRM* Wm?>*;!7;QPJ}~dgyI*i0bJGq diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.class new file mode 100644 index 0000000000000000000000000000000000000000..36fb997cd5fed750c3342a5f4cce1259e78109d5 GIT binary patch literal 402 zcmbV|%}T^D6h^<>>5taxh(3WkbzznwBSIN*Rdk`uK5awHP*X`#-^-QY!Uyo7#M>%@ zOHJUA?n=9pnS!%l`dAw4(NgbTv#@MuMdmwl@U^U7FtJv`LP-O0LR zvsd+v>{im5F@MWA+#63=RH_|B=&fEG(JF7WeUu?6XT`FU-d|2i+_+Y`FP2(6rDaeH zLVnv1u2ENJY_mT-`nf(?%O_bNMnX9IcN0SShuX6C!O154o&*Po_}|7wym=yK%1KNa eNRD4X&nzNj%#<~_V1rpq=LDO`IT5y)5sFWce`^*1 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrder.class deleted file mode 100644 index 7874a600c3ec28b909fc7f95db7fbe2c4fda2a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmbu5KT8BL5XIl@?H^rNPb}>1)WVbs9tUz_wP>MUpWTEr$6i*Ftl!H@u zXC)@^nD@&JZ^-A@`v-t??3b8ex4>S3DIuR3Yr>o`IX+nu(nYT{VOkrjZ--5z-Ggj8 zCI@xj%5Ev08T}7T!;|rZd9BqTLT^`VBb4@LWuIjT+F7yar1#emi94sX6OUGDe%f$= zisX_|-uHuR^^F;m4u5r=t>ufXkRl_@{u4#G_`~>BJFyN5^gcP;F62Sm;cjBwyDs_0bKQ)+-}5b*8q@%6oEF&KuQrixJ5?r^(4jtBIG^ z9H2*%*R`Wsc{&$J@7vy0bZv&ngWtEFuGEXl5F!$|`j>El{15l!W#^r${N@92h=Big p7=nwtV~yF#(F4)R8^kMv010c%7<^!hH5=yOdFB8B literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/BroadcastType.class new file mode 100644 index 0000000000000000000000000000000000000000..072d919743a6d10e9cee3a54ee5387f468c9a5a8 GIT binary patch literal 1221 zcmbtTZBNrs6n^g7ty?K?711HSA<70wonnmHLYP>MNyiq3B#SZRvej8qTGDkS{wp1c z7>$O{{wU+QmqkYOlWUWEa?W|~InQ~yKYxAw0pJN%Gf=UhBZs_(DGiG{#;_!gN|#N&e`Wj-12$Qw(4=@ z1?^&fDEg)oHo3pUBTwY&CsYG|KzYr-lQE=9Uf{)R4AcMM@+!Z>pvLb#>PMzdW8!f) zqDV?kIMSu2-@jZL2yF-5gVGR1tkI11df1Jc?h8-!%e=4wE23itE{QdqGEl%nhNu6% zPX@AhWZ(vF8W_iffk|si47AW0;oBp$%Tj3`zhkilh4gW(Ekb0o#5_rN|QaSG)lX$)8C zOi7HQW-^aa&^Mkj5QJScG{?g@~{G4Qj*GloOR!A!%tYi?T~vsk2C;EQngEv|Z5(3B=wor-P%x9@!=mkCj!V zEcyU_sH(>VMW`Sl+L6Ydb9}zB{n@{MKl}u6h2t{vcwNF_2}c53*Gen@K_Gv6))y$W zOiTj1ZKdh^WIQ0-lY^8qwYC|`v@fj+@jO}ZBjp4x+Z0bCZ*+2_qL`dYbSAwgtD{yb zo%=jXMIExva7wz7BHI+$8IGh*s5j1d9g{4UK1}V%`;=N{oTXA}FHla%eG&zCYU9<9X^a1(DHZ6PZnTt7*2s7$o$pOEYPN6Wt&CD$Qq=WU>7*HqR0oSi0?q%J zfwycjveGM~gVLo5d9z(Ju|xW*g7nJV)%#FbK>O2P^Br z>PoP>9;~edpRWh&E5Y6M;K@qx1@>4`F#D0;V0=kVV+Ou?9GuGuUTfH&nHD&}OFjpI JSB&RS{{yhO#+(2E delta 45 zcmeys{)tKS)W2Q(7#JAL83ec(m>GE48Ti;4_$P|iO*`|fYi zXL!KG2Y-M+%6MlXd`Od~aW|QnduPtMch1@U{paT|057oVU>I{*Ji=oePqLWDf&&YS z4wg``QM9qlF!V}>Qom-f3dKE!Oj$Jq!>BJqvD0qti+Gps2b3A}RhGh0R0hHAEttVZ^l-ap;u;o+NM6lvfpTq9~=*QHdd2Kj2|g?6x9mq8&B3 zHgyxBbs);B6$M;|n!#xby)BZ2H)(q$5n&zSKper3&dTx&5nL45j~Qgp^T{ zh`FIQvft>7%GETlA8qsK+y|&347V?@TI(cQ zwCM9zZTgxf&*YTKtCGi>oEE%A22K=;-Gm-bd9I&kup@&F$eqc;O;mA@emI-{JoDHf zL*URjLXk%^qj_-o2iP$!2H?^-lqN0YXziXIz%7hYL^rtrucR^M{sj(S0kR9=o!-D) zSKwH0;8<7ScyHiTSKvf%;7k`_29wB>L`K=KBxQ!?{K^RizQOvATRSJnte#@<6hp_U zs5X_c=rxk(F-W8FX_2z?#IZnZOKFv5Vj7|B6zn4y{vXnz=% Py=B8PF3(atfQNqpx&|+A delta 125 zcmZqXe#sff$?3=9nB3<6vX%nZEj41DYi{1bJmCx2p;WM*Mto$SMu70jT>zyy>9 z0Y)GM3Ij4wc z7hpzu^7}^ftoi!>_yll;WsVu<84fcn2RyjO%>M@GoqUxAVkCr%|0ENZV}$6XX~nwgR2^`Ph|eC2xH+3OWhW*NBxmoS bHwFkA3)?NK0CUa&c_nvd^otgdp=jSf~TiCK-;@LPx@!Y~196fuXhnFT^nOJ8S z3Br~L8MdpU)pb-L-E+@riO6$hhbtvQ=~R3kMf>rVbEKn_ao2T2;c_Lm8Enz+_(4yI zL*5n)Gu3l`!5yDV*Qu+}lP<+fWHBFvj3qbnN!COd1=2~fh^LV8?7Ad1+b4A(m2gE! zF;*6Hu+LD;77b7Nl#;X5RQFw4S)5GNv+bVN2|H(j6qPeBrSKVc^3~D^0zY!%{90c= z(T=|Hq^EWmhD+sR2BQ+R$m(R(lj5-3J`rJqpJ?+l)u74!V;*{Xoo*WH%!?Q{^O+bZ zjKs&AREH}X?G72~c3O0(q#X%G{i+1i0PaaeU3G=}D58k##up+w#>Q=5#NU6g_HPJ5SnwVZls;d^1gTTLFRMz15b`?S)ls{21irKZ>A zZK<5EoPoY(7p6#5*(K7~agO+|c^+0h=!Q-4-qWXC%o5ggq>USxw=s)36B{;OW7Ebo zW^7EMz_5|);SQK%n7ZlfVbilbA8`O>F;2G7g zz!=79X23!rMjOQ#ComZ!8IFGE48Ti;4_$O~92dn!P7(sd;MD;q%y zv;^Xwh6y28HKc{SuVGTi2P)PW)Sbd^;aTYwL$1vCJ606<%>&ok=WVy?A39OQL*FWT zPP_d?nyi;RYzMwoY8`sP2hOW*wCpH! z{bnvZ5Ph>8G#szygs#ZdOQ`rxi}IR(C!?0;UEhs18K(ZhWjkA=UPtd;>PO0^SvgTB zq)73MaA^64*Soya7rNwkTKNHr*rY-0cF+kM{HZJYWnNf=711#RQ(_sX4XooK!{h&6 zDg$%aFmMC&2F76;m=H%=9Fs5^M$YFW>S9PVyuc??=}fk-=E~jyZ$w0Vy}yfcqjP<* zKO?>vHMg}&Pi2hWTViWQ&;Uph6Df&|l*9)Zn-!H4Qb7urFaw5J(&kBuPw#?#M(h;v zkEAhNrZXvhal+5xN)Nw=n6&Dqvh)RsQz!x-yMVt+7UK+sYq&1`)F(oTjH`4#Da zb0hg698s^6g0O*MW3?HDPk=!#T^q+%qbGAxym zq*O-L?{q2NrPZt}T@2avL>I$$J=w*meGDczowYzG(xPQ+L^;;uaT^)3#gP3CwKymi 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..4db26b18b5aa4c2692b6ac45e4c18c04f6cd29a5 GIT binary patch literal 1112 zcmbVL?{Csj6g`g?3SEH>72TZ9A5$q)I?a}SfGk@k_#@Sspd^c*3Ouo-ye_3(;(w(q zaYm!rXa6YUeT6s{{UWbPU*Egu-E;1Fw?BV<{Q+PL>lvt6)o}-RH7sbjr^7%=zRWbT zIt5LMD5sH^^O}bH4C;$ryUws-^KN8?zUcK`tILOOPaHa7$OB>RdCqY7INq{e@nGl+ z>j@WK9#k1pjr#b!w%XdY-_)B7n{Q`Kb>w&vA2Mu}%o$Utdw!QQm zqa7{Iz5kBkY02(8M~>w=qGvV3z!kl!Ih){u?ROln14UQ{u436h7C8fXqQ6)& zr^?!I_jxBIiJQ|##eG(t!_{SwN~q9g}sCVpUkNft&C6&Vz80mMwJ zTQtj|kH9`7aSG)ltr#xRI~B)LgfHUq1iyhqysH<~@)smep-Oz>9R3RJ7-JL`u@uM2 z4MIuAhfwGNwDQ{W2~wZp@HE}oaShj`bX<=yD@fx8RwhE8Qz3FxzCk@GXvzuF$H>GB qU5yuW$?p_WM$}UW>IieqV=&1!E>0&oB!c9n=xfYylkAYi-2M%KTm#$y literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Manager.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Manager.class index 132e58288f5e8944e760e8b420a5e5e0fa31a1f1..ada72af3605ff424d50c5faee3efba0effedc661 100644 GIT binary patch literal 1008 zcmbu7T}vY|6o%jQ!)kZBe!HvQ=$#+nT&Q?aQLwsKRRoLoY3J-1nI=P$3jJAL310XE z{88dbEh1Vd?hZ^c=j1$-fA$oq^MrkiI{X)jPs$)A&RObPsOq?7lk zrj1vB`wjk&rcB^+<6BEPu|_5x>3pl7Q@wdB?_`|ulHx0Gl}_uyNUi;`NTB{7Gw_y8 zPF8wlbWr+bLf-6^>DdnbQ9*h%bhQ%-Ba~1U*!>6B0(;+~&RD(a6JZ?%zANFWfbRy% z+)i*5b1%3rZ#_WV^GAUTz(XNf#3Z-TTLGp}<%rMi9o`GE48Ti;4_$P|iO33GEjgD`#|*MmD(wX7 z3AuMfzO*hHWz_DT$xkv&xux*Pgad|ne(1OYaixR0$S9$-u0 z@%*;)u;zgdcnW4j+{?3n!6L<@b8nnAf~N#fww;y|if3O%Y%pD*UAV7l3ON z>lIe}D6s~byWb#ozo7IL<TD!4owT%QVFoegeG1y``j4tS$q@bAsMWX^U0ZjLu6=6GMP TVXZJv;5u#;Q@Y7`3AcU&pp*Uf delta 131 zcmZ3+`JPGi)W2Q(7#JAL83ec(m>GE48Ti;4_$SKOPTs&M&BnsO%E(|e@uSXUE+*Sx z21N!Ypc)Wh1VW%BkYoe$^uc@v23D=@42&Cr0!$3-K#~n8%mCED0VH|AY*q$N1}-3v Mk%1dXGBNM~069|)hyVZp diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Dish.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Dish.class new file mode 100644 index 0000000000000000000000000000000000000000..874d032b0f5bc996a33b4986bd3c3998139ebdea GIT binary patch literal 323 zcmb7uV%d0&hUfV_y7Ns`od3>$Zu#;8K zWL4T)_Io+#;QwIk584rKOVy0RThn%0G|K7Lyh-oXV8ptY&TS?ncGmVzY_vPv6Y{Mc zhgv=9P(BavrjzfoK#YVS{#i&^hP3FVX~j#`soLWL5kDG+c)6A}WhW*NB-fvy4+ar3 W)|4?gaKc(lcY--`c7#*b2*nXQR7=VL literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.class new file mode 100644 index 0000000000000000000000000000000000000000..1cebb79eb38aba6d934d10084e4364d593b5bbd1 GIT binary patch literal 3113 zcmbtWZF3V<6n-{Ivq`#b>02mJpuQj_1tM5LXep*8U^Pu+6N^O!x9K+Bu-OgS4N~x3 zzxWT-A3(nXBdy4c`blT}1%C5qIO8zlb2poo20GKim(AUC&wb8wo^$TW{`ud}zW_La zZz9-((Fn$HHjHj0Wt@v3fKl;sUOe7x#%mat@m2_LM-WCzyiYV^5NYw4l#z*`4etnu zsSvVZe}liC0xTW@Y3h1Z_uks9D+nI)sD;2J)bab3Y8Zb%s3RG1A~TQKjJ&{}J$dJutZ$hfKC6P!`-DL#|& zxq>h7rGl@7l;cceZ`)xHrMsE!R|| zs!h(bi2WCz-dVD4bL={7f5KekfbwppTOY5l1bj$ejTi0rpxi>&d2ooy3#y&gu9IiL zbbq?)o-SG~EBZxP2yZw`$Zqo1ZJ_uD7e<+_{fkWt0oG}oU9=so#B{AHiF)%`x8fPz zT!#s3YKatUoxI-61k1w7FdJm@5)(3=+*J2?6J*`Zm!Kq4smsZUOloo_nWW+z!a3a$ zSMW4-+zN30kJLTRY_`N|-C>TD3yJYua%!t1WgQABv`!?_iSx;+%TvkB^ zZhi^@e)z-$;mRk*1th%Wu3zSglf(1i-QxZMKuYjLfYzI_6-Y7vPw?G?KlT8DnH4nM zLog=YgB%;+YT!OX623>v1B7QfA}eVAl_o{P#KHS$5j*?1XqE6A+R}$&%hXjRCjW)YGd<$4c-j~LP?qg&?JBOW3sV{re!@Qum{hdhCg(fc?*NnKevYy)nL zp4g9&|3DiR?VcG}K~$(o({19`a&09mFuF{fPL@b;j@Hhu^6PnmpRm;V`5|?BBwi

%u|6K0k539#i~}% zQ%yUXma+3LcHM%1>CxXy=;FcNTL>;8!qsk?MKwiQez$}%mJXDh+7W719-^H! R>0?cN;UJyg;D!&0{{cRQM}q(W 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..3ecda506614a8e6cd0ca6a44784d1faa1c735732 GIT binary patch literal 326 zcmb7hR15(^v_I4ZCtgeWj03ZciVd$B8aH+HZ6uOJZ$`T_l@ zXs-2aFEh-{IWuQwzP{f-0i56$vG2l3G!Pfk zG|ZZPjz;{2j*#h!SYL**worB8An#xqHIn@QF$}WcAcGtoV=p0*!`1~uJwD&0UP~qQ4MV@ZCO7_j z)w(kx<~`pN426MIVz_u6i{Ocm=M*Uo{0X0rcp#1cA50mlG6?P2Gp_OiVPxNqo`j zKDF2+hGe@lLX+;BrlTi7`$irp77as+(BMRKi)4YkXUa&Dt~jSlFy|8qhb@tG&PaSj z^+l2;LNhXlZK^EOtB?gWR<-m~A&*d^9xSpl+H6zMY9 EAF!96)&Kwi literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class new file mode 100644 index 0000000000000000000000000000000000000000..10af70e3724855037a944184a8302d80c508a595 GIT binary patch literal 502 zcmah_O-sW-5Ph4*q>0hSR_h0dC_S_lj5iNTF9lJE^`PXwO_sVP-AJ0=U3|hX%HN*w}H=b+OCf=qFkA&KZtkku4)#sM%abnW*GU zJ#(!^siHeB)g`4~NhS4&;iUgh?jT{X$3-R>TCr4OvRq6>`N*d^G3~fWd7ki68vIAv zW(+FIxaJJOtx}>K=e()}vAxypdZvix^B;<3nTl&^x_D;jvpIhux#mPv`lhI~i@gAA za00m4r#)6~T+1?qMkC6(nnm~1xkxp`;mSIOMt_jtm`-ie)ma#tmgYz1qDkH(G=fD2 y_`}mTu;DwbS3(wi@($%t1ncCxzgY;-B4k*jMokbBvap4A{dTZfM@^)I4X_{am~;{V literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class index 7489e230209276977032e992a60b9e00cf23f77c..ea09de96c511721c3eabe19d57a19fb9bb73d560 100644 GIT binary patch literal 1238 zcmah|ZBNrs6n-unbgSiUFc>KEBEp715m1yN2qPvYW0GJn#7||r8O5%}w$u2d{GcDe zNa7FhM;V{nk}wm7AKG*7d3(-t?zzAJ{QL!A4ZAwJkx!$5xfCAhn8$*KMID{UYcO?a zN-pVmjAb2Ztf=r+4No*Y6%acD#%tG=e#xtTY?P(tm3mJG5lVUe$6AE#Fq>D`PS|u~~7vENe|O^xXQXZPsL9*WEKK z45jaydzS4MS++qbFqD5^KD9nsrenEv^C0wXw_c23Ex*n}12?$Ya8+QrJw!xoH$pY{ zr5|{%S@OIOL=_Ewb!q3=ATx z;hBNwSf}emI*vE-+4G&6hN6KDybxGwJCHWr3XHW)QH^lOxB91fshbA2@KW`+ZD0o_ zfxhcuzd1gY)$qS%xGqz-1I268Qu*LZ5K2xu;Wb%58(*;PnftumkasMt2Io5vweqi7 zKs!@G4(Vm{H*ZFNl-CSx$BZd(O?rI!v1$9V;<=Tk;|R>OCdXmLLQB0X6S?JYUxjEH zQ=u2HrodpnwanGRVv=vJn{N~70ArBle~2fOQc!lzT|j(`+{65LMaC3z)Qva*BN*i= zjk~x7)6hAJE@ja3L4glMGxqhrv*4 zBgt63hMhu+<%apsp^tz$Le3DdK*$x0VH5YGmR4g}TJAHxk1WP9!KQMUCDT!IoMHA9 p9w5QoAxu+CQh&&3<(s8U@!Uf?8RmmI>ZGBURnnCGlo`qah`;-?DZ&5% delta 244 zcmYj~O;W;85QM)M0xvH_el`54{KNyWC8ih6y-rS4l1h>H0gICw7z&H yQQ%S*402wSeIv?Hp_*ldkMmpc_Bf5g5qBr1LssC+Ca?AWl^AN&#aA@)Wb+T=dL51c From 5a74657b03444b6439c1b656d501e866173289ae Mon Sep 17 00:00:00 2001 From: Eyisheng Date: Wed, 30 Oct 2019 16:05:39 +0800 Subject: [PATCH 3/8] commit --- .../ClassDesign/Person/Cashier.java | 4 ++ .../ClassDesign/Person/Cook.java | 4 ++ .../ClassDesign/Person/Customer.java | 4 ++ .../ClassDesign/Person/Employee.java | 8 ++-- .../ClassDesign/Person/Manager.java | 12 ++++++ .../ClassDesign/Person/Waiter.java | 5 ++- .../ClassDesign/Tools/InterPhoneChannel.java | 6 ++- .../src/edu/tongji/designpattern/Main.java | 38 +++++++++--------- .../Business/Command/AddDishCommand.class | Bin 375 -> 1002 bytes .../Command/ConfirmOrderCommand.class | Bin 390 -> 768 bytes .../Business/Command/CreateOrderCommand.class | Bin 387 -> 764 bytes .../Business/Command/DropDishCommand.class | Bin 378 -> 1006 bytes .../Business/Command/OrderPadCommand.class | Bin 165 -> 750 bytes .../Business/Iterator/DishIterator.class | Bin 893 -> 2363 bytes .../Business/Iterator/MyIterator.class | Bin 300 -> 358 bytes .../Business/Iterator/OrderIterator.class | Bin 916 -> 2400 bytes .../OrderRecording/AddDishStrategy.class | Bin 392 -> 983 bytes .../OrderRecording/DropDishStragegy.class | Bin 395 -> 0 bytes .../OrderRecording/DropDishStrategy.class | Bin 0 -> 1737 bytes .../OrderRecording/OrderConfirmStrategy.class | Bin 407 -> 2245 bytes .../OrderRecording/OrderCreateStrategy.class | Bin 404 -> 922 bytes .../OrderRecordingStrategy.class | Bin 186 -> 358 bytes .../ClassDesign/Order/AbstractAggregate.class | Bin 0 -> 1443 bytes .../Order/AbstractOrderAggregate.class | Bin 377 -> 0 bytes .../ClassDesign/Order/Order.class | Bin 0 -> 2714 bytes .../ClassDesign/Order/OrderAggregate.class | Bin 402 -> 892 bytes .../ClassDesign/Order/OrderType.class | Bin 0 -> 1137 bytes .../Order/UndeterminedOrderAggregate.class | Bin 438 -> 0 bytes .../ClassDesign/Person/Cashier.class | Bin 1008 -> 1076 bytes .../ClassDesign/Person/Cook.class | Bin 1411 -> 1455 bytes .../ClassDesign/Person/Customer.class | Bin 337 -> 3381 bytes .../ClassDesign/Person/Employee.class | Bin 1521 -> 2239 bytes .../Person/Filter/CustomerCriteria.class | Bin 0 -> 638 bytes .../Filter/NonVIPCustomerCriterira.class | Bin 0 -> 2125 bytes .../Person/Filter/VIPCustomerCriteria.class | Bin 0 -> 2094 bytes .../ClassDesign/Person/Manager.class | Bin 1008 -> 1712 bytes .../ClassDesign/Person/VIPType.class | Bin 0 -> 1117 bytes .../ClassDesign/Person/Waiter.class | Bin 1190 -> 4062 bytes .../ClassDesign/Tools/Dish.class | Bin 323 -> 467 bytes .../ClassDesign/Tools/InterPhoneChannel.class | Bin 3113 -> 3374 bytes .../edu/tongji/designpattern/Main$A.class | Bin 638 -> 0 bytes .../edu/tongji/designpattern/Main$B.class | Bin 677 -> 0 bytes .../edu/tongji/designpattern/Main$data.class | Bin 502 -> 0 bytes .../edu/tongji/designpattern/Main.class | Bin 1238 -> 1572 bytes 44 files changed, 55 insertions(+), 26 deletions(-) delete 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/DropDishStrategy.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractOrderAggregate.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/Order.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderType.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrderAggregate.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/VIPType.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$A.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$B.class delete mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java index ec456f0..c929f0a 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java @@ -2,6 +2,10 @@ public class Cashier extends Employee { + public Cashier(String employeeID) { + super(employeeID); + } + @Override public void changeTmp() { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java index db8f80c..d8ccabf 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java @@ -2,6 +2,10 @@ public class Cook extends Employee { + public Cook(String employeeID) { + super(employeeID); + } + @Override public void changeTmp() { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java index dc84810..cf49f84 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java @@ -17,6 +17,10 @@ public class Customer { private OrderPadCommand myCommand; private Waiter servedWaiter; + public Customer(String name){ + this.customerName = name; + } + public void served(Waiter wt){ this.servedWaiter = wt; } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java index 58840a3..7f17463 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java @@ -20,8 +20,8 @@ public abstract class Employee { public InterPhoneChannel myInterphoneChannel; - public Employee(){ - + public Employee(String employeeID){ + this.employeeID = employeeID; } public abstract void changeTmp(); @@ -29,7 +29,9 @@ public Employee(){ public abstract void settleComplaint(); //// process the massage received - public abstract void getMessage(String msg); + public void getMessage(String msg){ + System.out.println(this.employeeID+" receive message "+msg); + } public abstract void sendMessage(); diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java index 62c0d5e..d6d7c12 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java @@ -1,6 +1,10 @@ package edu.tongji.designpattern.ClassDesign.Person; public class Manager extends Employee { + public Manager(String employeeID) { + super(employeeID); + } + @Override public void changeTmp() { @@ -26,6 +30,14 @@ public void sendMessage() { } + public boolean notifyWaitersToService(){ + if (this.myInterphoneChannel == null) + return false; + return this.myInterphoneChannel.notify(this, + "new service", + BroadcastType.ALL_EMPLOYEE); + } + @Override protected void notifyChannel(BroadcastType broadcastType, String operation) { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index c4a108b..1807523 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -12,7 +12,8 @@ public class Waiter extends Employee { private OrderRecordingStrategy strategy = null; private Order currentOrder = null; - public Waiter(){ + public Waiter(String employeeID){ + super(employeeID); this.employeeTitle = EmployeeTitle.WAITER; } @@ -33,7 +34,7 @@ public void settleComplaint() { @Override public void getMessage(String msg) { - + System.out.println(this.employeeID+" receive "+msg); } @Override diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java index 0b2daa3..f142211 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Tools/InterPhoneChannel.java @@ -9,7 +9,7 @@ public class InterPhoneChannel { private Boolean status = false; private List onlineEmployees = new ArrayList(); - public InterPhoneChannel instance = null; + public static InterPhoneChannel instance = null; /* singleton @@ -30,7 +30,9 @@ private InterPhoneChannel(List eArray){ } this.status = true; } - public InterPhoneChannel getInstance(List eArray){ + + + public static InterPhoneChannel getInstance(List eArray){ if (instance == null){ instance = new InterPhoneChannel(eArray); } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 291c2e3..2fff527 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,32 +1,32 @@ package edu.tongji.designpattern; -import edu.tongji.designpattern.ClassDesign.Person.Cook; -import java.io.Console; +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.Tools.InterPhoneChannel; + +import java.util.ArrayList; import java.util.List; -import java.util.Scanner; public class Main { - public class data{ - - } - public class A{ - public data d = new data(); - } - public class B{ - public data d = null; - public B(data d){ - this.d = d; - } - } public static void main(String[] args) { System.out.println("hello world"); - Cook c = new Cook(); - Main m = new Main(); - List ls; - + ArrayList arr = new ArrayList<>(); + Manager manager = new Manager("manager"); + arr.add(manager); + Waiter wt1 = new Waiter("waiter 1"); + Waiter wt2 = new Waiter("waiter 2"); + arr.add(wt1); + arr.add(wt2); + + InterPhoneChannel phone = InterPhoneChannel.getInstance(arr); + + var res = manager.notifyWaitersToService(); + System.out.println(res); + } } diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class index 11c5022fcbb22ea3dc4db0fb8cdabbe39cecd201..8c123190635e593e3211a5cbed1380d6343f78e9 100644 GIT binary patch literal 1002 zcmbVLQBM;=5dO9;JvdIQ6cj;s{=NrrjQ2juc(H;dymVsI$17}k*!J+6q5N4z zD*nPS+U-b@gt3k;uT&_cRhQ8w~ArR=D& z*Jmg-wU7*zj*8@IG8stIv#95Ni`gPX6GQWu29aF8#0rfvpL{*c2YrZS7Wt_%K!PRvlYm8-lupXSFa zKIH*C>;!m*=KGE48Ti;4_!$}4Y%=pQOY9gKm^CI&Ynr@(QJIZ} zft8WLW#UDbG)4x2ti-ZJ{hY+SbbbG%tkmQZ21N!Ypnecw1VW%%Ajt;g>4W(U46It) o85lPL1(+Dvfg~GHm;tDP14#0K*{lql3|v4SBLg>(WMbd}0HFXC{{R30 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class index f6a5fe96db261f8d8704a59afbd121a36efdafad..8eb940f73450d59377c35276f9fcb1b5b0ecd4c0 100644 GIT binary patch literal 768 zcmbVKO-sW-5Ph50rj1c+{it6TZ+?IQ5qnTPSQW&gf>O_GveuPmS9X))-x5T@gFnC@ zB~D`wDjtHDoqca+-|Rf*{p0lwKnqJAMle-F8PgtSFzce}VveD*E0s+47+NbG5v4(* zRqsv)k+8C-?s<|3qk?vyTYHdE!MQM2tKf=DO6{z68Om)P35JP|RN^#^uZ6kf*L`9d z9Ubz1mm4|6Iay9_rDZrN)@?tvq-t%@)^W^LL{Z&H6Q7w#n4H^TC>aqlY!%b|IRS$! z9z>WX^x@LVa31eMrzR9fayY}>9}PF|_<;MU!1XbYaTg0d7Exz7F63a5nHUcLr|tnz-yA>Erk&bE$HHKlc4>rm3vfVt1eeY#p*_M5#md_H z3)o|puhHpctV?fdbO&a?sxS(l5Y=N0`BdZ delta 155 zcmZo*YhzYA^>5cc1_lOm1_3SxW(Hn%20nHMentj1o6Nk-5<5l)W{rsn?UPLyHJDi# zSSRN&`lSeDC6*=X=OpH(>-#5Vr6!j!C^9es^@0E+5CYW!Nj4x)AIxW9VAa~rz_<}8 jz{J1~B-wz%3_uMWK#~W{W@X@H-~#d(8MuKY69W$bXBiXe 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 index 93caf45283b7318d9cbe50a9c44decae5658e7eb..f7525dc0bc30d2e2dd4199d1e9bf50c4b33557a2 100644 GIT binary patch literal 764 zcmbV~PfNo<5XIlNwP|ClwQBu)@un3Fi0DD_U{pkk3W}cBWT;!3M0S(n*Ahg*gCD>T zB~D{N)Ju@ShWB>zo6KY0KVIJe>|oi(7^dr}V8+HQ+7{+4%nMZaRHTx9ft}SZ1*x0F zQLnGufQ;%z_cBRHN3J)J#vEprdqLX7k$WQ*U+u143sk%~Ac4uQis&p2Z%JRt+W|YR zZtTm!wbW{)bF-4%DI;)NtlL3qm}-pc#bGF;!1XlAgwAz9I=6NO%9?zEtzyWZ0|;33 zKz^F=|CU!ru*_S@*op>$A%Bx%fwuo0_i?Pf)Fg388Y{dD3A{tF_^h$oXIff$?3=9nB3<6vX%nZEj41DYi{EQ52Hko;uC3cJq%o-CD+9n$_sAfBBpXne0jPlkNb-Q$tPGqCTtFTp12>RlV&DM)+%Fb) diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.class index dca44ec05006ac8ccc9dd8b2bd04be20d0606989..d5633684c50a4a673db81a63e36dc792f7016237 100644 GIT binary patch literal 1006 zcmbW0U2oGc6oy~7rD@YZp=Dzq3^uOXZXyCrnzSM=Xt&)|+t8-&+Doj~RU21!Qt`Kt z_>gwN58y{3jFSRM}~20Ai~6tRWzDNKNLoeqB)Oap(DRH<;L_=mwzs_QIUVeC55{AaxRsc8ow{i zxZ55wlzJ)@4E2GG#A!0S7W$H3Ps!65sDMw0TuWp$a2TL6u+k^^=}6 zhWELOx+e%jGtBfoR=Ss%Sj{YIKj(h#=+hozhi*rit_)BB$%P7yRkA*lU8HZVv-=aQ zv-cf^ujwS0#wTg0La9}_^wh|=eLEc<9+O3hG^dJ8{L Y`p0)E3gTFXWqT>d%h+^q$XCG1UxW1-fdBvi delta 159 zcmaFI{)GE48Ti;4_!$}4Y%=pQOY9gKm^CI&Yo5H2QH70# zft8WLb>c4W(U46It) o85lPL1(+Dvfg~GHm;tDP14#0K*{lql3|v4SBLg>(WMbd}0H=Z$3jhEB diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.class index 4ca8c50f6ba7f56b15508e57ead3d4472fb44779..817e0bb1384c7d35faf7347bd55f45cef1d2502e 100644 GIT binary patch literal 750 zcma)4%TC-d6g{2^^CCRUYj{=N!60E#RbtVK1p{<5Do7w$dlGB#C=;VNLHrhrs!|vI zfPNI>I3OWbB#U!>@AWz7+VTIVzyAOn;&TTLblaH1x`z!9n@wyru`STbbfnF_&IG;< zbX>^XrlYZuv36#Z-l;s-St|R9a_*!o$qSu1o5~wy*!nIoWwY4RzgDB4``xlcl7rZ| zTY-aW+$(DnCr?NrweiEGCO;B5+^NQXKltu7-TOAy0&@eC>R-iVsIx0IOjubQ*hnSU zDlrwD(+CAlEB(EX#uAwK7BW%kNS+VJI?97Dd@v0@ zr8)v{%2nWf%Sda+8U$yWCC)KZ%xjF@-XDmb_>G!}x`&{*$MmtJ%oEp3;gEtYO13G{ h!6! zS#HbnZWc?pBg=a_-cRELET^!N!G~BC<3}0#+?8cb$2}bd9qS4`o?o_og@vMBuA8Cf zRt_DrYzI!otyy7c`>t82T0yWLnamyWj@M-ctr~<1gT+JZTg$A6PSq?rLCA}AiSbrg z_icqj$Ms5gOb&`>kh6}c!!|nxkn1g zf>);4fuiHu+x4S8+ka^7RcRS6diz%Ok>xvbZWxo{ffJCtJMMe+fT%%WZnB$F`Ei+AGPfzD%3;e19JNj1cDKl_ZC1z-p-}gI+ok%;#E1s9YPl72 zXYbJ7mr?!Uys^6^&Uba|xY^T-)S7ZjUftif?>jPgLo)hJyqhB2z!hv57{aiDOSo*{ zHH_)FZ{PtwHn53L6wI!E;pI$o~$NS1*u|Maye1 zkj&4^@dl5-(nG`R;s>2;Ka$8GjVyOEMFT`0!~~fqcsm&*()UfCBt{geXg5hs3F-yo znikO(tGq_r6sEa~wk_g_&shFB#XN`h3O#H@`6=||GbFWNco(bcjr>L;_851p!G4`S zJxGk+WqSnSmoNvjYrva$s z-)#i@^p@bIxFK1EA91y#iWxco%x0a4lN?U#$jG>5{rmzZ+kJ~N7h71DS}I5JQ)+OH l{5Ko?XX0PN=oFu7foX_m@XUV(_jM7>T;stssZ#3n&cE;-925Wm literal 893 zcmb`FIZnes6o&tC7LyRNu|q|dAjA|D6huf6Ktc*ofKt#+l2I~|v5{wt;07Fq0veDg zH~@!2JR3(?NfRNOx7puYe$D6C`v-tstml!&QXVNR+gP!&YGaKd+fc4D`wXdCz0Htr zdOgWdYAIKq2R9w*Ux|)Gm1@iD3a2f673OgC@S&8KvP$(`6+!8#`F1+(t}a5$6ybHK9~01&K^dmG^T5j*ma-Q%3pec-<2mS zl)I9YW;;BhfGq3+N+>fl|3Pnt^0+n(2Y+n*dpkDhfu+Hap+^^b+M4VPWt==CpV@o^ zd!fKWj%@a)h&;uGIG&{l6wjeZHiWmxhp?4;3T=YSB}fY+l5`p;+4C4#oFvN!q;MrB Ze;0m*H4bMIa3&sWp&E^t$3o;6zX8c(*DU}5 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class index 65e44486ecccd92e6df4de7a622802314a8e3d16..62b25b543c8bb1ccc22ca8d81ce1c3c2edbee8c7 100644 GIT binary patch delta 128 zcmZ3(^o&X1)W2Q(7#JAL83frG_}Li*CJMMKaHXe~IF}X`rRJ3|GH@5CmIUM%XO?8< z=P@#{Xn1OdO$=S*%)-LRz|6qHzyPFK8Q2&Y8Q6iwFfnid`J8BcE(UI}97F{V1234z F2LSg$60QIM delta 71 zcmaFHw1!FG)W2Q(7#JAL8Ti;4c-R?uCknVvtX!qd#KOqH%)r9H0Hj$N*cccY*nz5; Q7&w3!!s2A$0*i110OrLAbpQYW 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 index 72828f138138923fe189e425c088b91fabadac07..30d417a27d46e9de4bd821e79914b907d739b1d4 100644 GIT binary patch literal 2400 zcmb_dO>^5+6g^K;qS#hG+k~_skdh`iZX2a(n*vTl)1;v(&IefU?KJ@>xnfByaRF95gkSsH`5 zp27eY<#IzVH#4|}CAr+z@j(h7;-fy~(^$qGXDMo{lvE)p8txe8DbN z&B*th1J^9sq3d`RD~jyEGuO&i7_P@Ab0;X-L9(toPGCD$WapWq97X~|g#+tb%dAFj z*(|tW#1E+=6IoF;um#rJJ};jdGQYx& zdnBN(`6bdGEV!P%T|L~hgU_wKGA$zof8Q!UvI1A`Yep@4;)Vhn-I2Ig4Vg6z%}q*d zMSe}w`i^CewSpW~>OepIk9D4@1yURRi4|_!-?8axcJ8r2e=)N5zuvMcH8pg{j*{;; zvvb`^(llBuKg|Sd)gZ7vVq`))+HG`Q%Wg^v!WA&+)o7x?oikuH!U=kw@$m?kEzdD` z_73cQImAD88oMj0v&&mY^%kE=dg@a2tHHj#;l_g)YgW%VFR2^2fOP}I7%^}T=MB7t zaUJ&!Y~T|E55N<%aN3iu*58(^3tullE2!te!FRiR|&fa(V_@uPUDQ(EXlgo8wH0RL+&aCx^)1ATM`2_i zGJwJ`An|s6b2o6ks2Bydb;toa7lXB$d4?*|smyz9G}{EjDA#l18%TG<`-he22$y(g z4}!>0p~&X)FF=v~rEN5RALE{_=6fG)7jTjL3GRO6Q|0rW+$)HjcmYK&YEFFtEq6t3 zuX6i4Jyg6c{h)IlgoX@KFo@evoFQf&#w2kk`E@GENZ)t4lQEK!h~Fe9g&tsR-6FXq zEHBaa9;UfUZd=SFea3UoN#;4!*XUs*N>8C{&!DNl@ms>GH})Hg(UZL6HT28$>47qK zmluMZKCUwLH#ExBi!G_2VnV{?z98OX?Mq7V8odhshJO49`bJVOkru}d&=HCNW*ed~ zS;8%_Tv>iXV6lk+%g7RrC!hu&uwn_nlvI@w_!$@5sHEloS5|x+bK<5!ra@sKR{Am( zo8d3p1i#b-uR)oX=$-VV2pr-iEBh6ThH8H=&hS`7>ndHJ@}pDft>ZK2NOc z#Jmw>$__GH4O715I1vI;eWFk5e7}OLHFT3tS$z)+Q>30sJX%Q;Z#5OslO!BkrF7Ri df?vXD4^F)?c;=14{apl;Su&XOFk_wz{{gw4D`x-z literal 916 zcmb_ayG{Z@6g{&%RuBad-<2I0YpEPw z83@m-h9!RHd&KH_{G5)2b``%=U8%;|34_@aUPIpNP|Y>vmej-iG+$V(Nk};)E?bt8 zme7)zbA<1UJHZFSvG`@XFFTsbi6&_k+E+B;ru? zku^JfgCF}k3g$^64l{)`G7Q!Kcm;;c?4B6Pe`KEQ0sHjtqF{*8Ukp6SCc8u#C(p>o z4&K0CC@_#98y^;tq&PK-mnj0pD_A8PfDg$BU?cJr*ePUU3Ta@Bq(#jl+4Br?bsm{1 d(~8$d$cf-r7_;Em6gW0&Yako8SVu1O8{hO+;A{W@ 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 index 2b747c370c8beee1b389787b3d788b895633735c..a48e2a2d91fded279b69ad9130416860e5f33b39 100644 GIT binary patch literal 983 zcmbtT+fLg+5IvKdi%Cnk_1+5J2t-{#m3RoM)Dl&y6oJ&Byl?E4*~r*vcU_e);WyeB zka*|^^rI@qHm#yQIpSsK?ChR1voo{5|J?opaDcZy8d&%76wf?7_wd5QOG4{VC)#}= z)VI20LgOe66=7+p6Lp-OPn0>8lbAg#!!(fbSQ?%0@0|^IrY+%ksKQLRG>N8Kgv#nD zxsc8&lZc~OT01CQ;!|c>)mm|4LS??HAT^;*BJnW{2il&EoRLmNmwke#zN;W}9QJCf zn)Yd$##ZDq{c40Fhcc6XcYX?2D&$~m%L?w#2r%eFOSg953+NDx59&jN9b}EHVP) z$9TePPX5ATb+%q_=Nh%%4~8}5be}C4H5ug+8|Afo2_|3(okG^bGFFP5Rtxsp9Winn AX#fBK delta 125 zcmcc4-oY$->ff$?3=9nB3<6vX%nZEj41DYi{1auTPrksY!py?JI{80iQZR!e0~1gd z1Q>x3C=4XofINLLpMil@YdZtuMxX!_13Qpp0}3+$HE;k)9x$7gfs=s?$YW&S29it+ FJOH}>495Tf 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 deleted file mode 100644 index e743db1587d6a3d30ccf826ef84f5aafd0cdfe24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmb`D%}T^D6opSZ{n1*TLGS_GsSC4op}260t7^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(X0n@~ diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..e91771ea46db77e6473d2f9fff3421e604795871 GIT binary patch literal 1737 zcmb_cT~iZD6g>?w17j3L@oPoH3X%xR2)gPTKM7K6RamwRg;o00%=CtV$#iO_hmzVK zqWcT>Rri6d^1&bAkFq>7K?xhyilqbIo1rlJ+O7Em)> z)2<9wW#p&lU1iR!`?0`sO?io9blBMN9Z$u6BWy`yR1`YZK*sSxrgG+!n5c2=EJvP- zo+wvGo*y=xg-Ev+{CK@?B571(yCPtz7s^cxNZ%>6V3G3b+jx_jZI3BY*~CoG)t*2*YAIkxs;ReB3e3`#x>3u|_GP8M9UIl;tm=fh8EM=5+WDOn z42dY&tk}4NyPQ{#Q&r4bv=}F@%efOc-ISZEszX-aeU 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 index e80ece6d77ee50bd594ff80e054f5307d21b2a6c..1b3c137a7be68099b4d3d82246f6030dee6b6f34 100644 GIT binary patch literal 2245 zcmbtV+j1L45Iti{T1#Hy5QhYD2{v(z9PF%P0)fZ`VkssLvU8C!Rq!;H26=61SG7BG zMPCAZ0k6P=DN+T+bH0I3p@1{HlCzFosZHf!=hEAK`b}&rol%fU8(CS|3=rX5m8%9|`1^UC-4w1x8DATLPJi-&6t< zHP=%cz0S4@HsyAkk~1~GA=_IraLs-o%;+6A6sXr!v*&2vYwfyDQ-yBJ>q@Ov;5n7H z48v+9a#ngFQNz%=7c^DyP&NFZ>3XerTk*Z`+@Mp}fz+ziFAG@ek!tibeScp{=U~(K z+o4l+!<}+EgNR7%zdZNiCJdLWRY%}zI@<(4nl{N(Aj=@AKwv2yM3Qmrp0<^AwukXw zJ9I9iuZDSQ*Sh!vPi3x!RsazdiN_3Xz7X|&B!#Qnfs%CpvH8hLw z<=q^59af*ftrtTbrcolJ1Qt_aBr;myR3lKV{~?^f?NZ9RJdESeHbKQSlN}jus7H(! z``kC&x0H_eXX)YDsL~)2>3Tnms(jS%(f+kq+x4CMf$M38Ovw%n@@0=6NcJn!e%zen|QqV8n%UM|#b+3TI-&^6_&fBu5Ml-4oQmP3Xs!!G?Z} ze?_+2byushg|7rI9s7S0H-QV!*W+V5&i9w?ijV9FXSN=Wr@3=D3(ncgzd`&G{eG2W zE)wQoUS(rQ1x(^BXI>S~aWuw%5G>1iY5o8s8wJxjs66pY{^9&j!Y<{s*}Psj!C K$GE@3&-owEotb<9 delta 118 zcmX>qIGtJa)W2Q(7#JAL83ec(m>GE48Ti;4_$NBgnf!%GlZ}Oem60KE@-I z(=~i1-c#iX$yU!k%1)zsFabx5G;kHnUR4t zAEcF$!3ZS9jihVhT5UFV1`b9B19XYoY0Qia!4vN})d!^}1GQ)7r3aT3C6=V7S28Fv zumF9*$iN2l5)+UHngAp@fjoU6%?PAfwYD=bZUjqn0ZBHnAR7ZWkj(>80Hk?=JVpjS z27Vw3((DE_j2TFC>}Ft!+|Izf0mx=zutpfb2{u3hq6lgLP&tDDgCN*Y4hA6xVX%ut Hz*GE48Ti;4_$MmNo_w8AgN=oOm60J}@;oM|$yH2> z!3>HFOh82-zzBpuSs=*<4*Z)W2Q(7#JAL893P)*x4C47#Y}8D^in7OHvsbrfc|2v{U5?$cqryk9FOrt z%u_MX#5|8+HG&rk!Mfurj2CLgfuVO?tF9L;$IU22cdcsEa67iCFmo=QEfzC5)`T4E zBhxCc5YAdn%gwQ2GPTFdMytZiSix$VZ##{WX%~%Bosr2xt8CQw4BHaF7Yw=YEk_|& zFe@G1Z8fVkORty?3A7E@HSMOpQ8ygtwHMNN?22jY>m|pvjk3F5t=eYQa82?_oNeB1 z_W?F8)ww@z(5O@hlFa*Z)Qx6U-znA1vYU~amBqQuy4jE^Jv~oXP#LPG5J~2_N`2Ti z8?6J8HNq?h$I<(H_3du|lVsogk3N0*lG)v-zTb5jz#D$|?5p^|8VoG6Z zaC6sf+vv*m)u3TS!#E})c&T9lSH)S=a1*yQ+{HbG>}9SRAI$ml$t&cK}&eMG*$_kpIc;g3gE#Xhi5N( literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractOrderAggregate.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractOrderAggregate.class deleted file mode 100644 index 28880ae7ba536d0e824eb3415f8ceaedad60c12f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377 zcmbu5KTE_g7{;Hs*FRdTcepyase>6E6ruERDtE)l?P(igN=+qA{a#LjgCD>TCB7|= zZYJ=M-;ca`AYb1fp8#&KO0mFkf|CSGLVRbe@%Mzq#pRw57JZ`#%hFi28J{cV9%a?B zIW7BIc6;f}#J@81Pi7z#rD{gud#hU`8Z{VgU!?cSSy6Oy7}m2ATh}Nj@@nu-)_$g3 zYp1mI>Xwl1`q9U@mSy;$7t{DqhMbC(1d_mnyr4=UGlgUo0E0oAtN!Rq+yx1>%U0o3^`Uxvkte+x2+Xvql=jt2uPA z*yLJ{=Q?v(s8-9ao~4h>ym*_lE4DYUAetIoXYh+vlid9|yJF>QJDZkMFgDBF8OT+O zMtR+EY*~k!F>lLepp%_>Zn`QRCrXy*?})@hsnO#^R%s)u(tX{aS!p>I(G=X`@hRmV zbOVw?HES_DJG{8b>>H*j8Y!4cb;jJJs|Xo21^niTu@uI!cB+r9!27w>QC&tKg+(ID z^{shE@#__1*H4Lx0*gdc3u~xVx3G$qTEskk?Ieqi#q2CoHp8nr3WT_$G~BJZ)Y*0Q zI#yrVt4~=QPyP>{)AhqQon0WP<%LbxbBv<5P%1fAiBg=-XJV~dbBfkITN*9lQ{Rv$ zN5iYQtm1)&b&P0u2_p&y{kO>Pf(6Gh_9S~6UdBZY=P<0{JT7Q>h!GW^XxP9b4WHsO z4WHu+4PW9b1$svbYE-iZ1J^Zdf>pQJ5%y?ur5fw$l}i;B-0X;|>B&$qcLKVuLLK62khnm1$ zhu{=Oj{$eLgD)HlPGjsCaI_tK@mTQqp&B!cQ^M}15jD7+) z!T_?g6kCl~kB=Q75y8WDo-s-|?(+->wjqy5s^cb^_^HBV$oMU7Vq}~a#sl;!SQ$Tn zrr6o}(l1uINc=f3FkC!(9TUhtuVXlDrB1W;`BZtKTmI_#A@ER&sc86i4Qf)Hi_mhrf zm<&`bPt%*0)EA-^QDr7b+9GNSt+M>9n73ETFw_ItNx4np@LKVXG%Ad5g|$-0d_NM# z9Jmrc(;cb1b~g;Q426|-hKaV86dlvNu!&|ktW*aB+)EA7G=}$f`N@4RB;evX5fL`k zL|+ev*rmAJGFFSW?XzqQv+XeIJ4C=gPg32MM=BF=*46uvo7dt_lu*DJ!@)rE{lC^B z_6{y#1*;k08pHNLfZbz%(_&~0vHMRbdZWl#hN&PskEd2eJW$4x7^jt?MeK`J{|i@b zVuN1UqwfZNGs|=&TcnJWXXHm~&tQ+P?UVIf(Ze{!rS1UvGG+9Em?WDmZz1n`GE48Ti;4_$Mm0Om1LQW@BMsWn{3NJb}rQnUTQ} zNNZ<0CKZXPYVAj{0axCJ2*MzZ+n0u@V2SxURaf2AyO zMx)thf0Xgu(zq`AiQDAfoO_;op69&u*Y9sX0c_)G3NqGJJitQ*%L*Q;&`=PYp2VU` zPF*01No2&iq2MutTCKHfZ{O@UYE_2kb+hjq-q;xoEu(KvtbudPJU}a?FN5 z>Y8qwcWt^+g6Pfn3I6VXKrgnov2&mKFZ z;A%mS*;VzX!By;}{>BJ1R literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrderAggregate.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/UndeterminedOrderAggregate.class deleted file mode 100644 index c9b638e118c331314b70701beaca258062e05cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmb`Dy-ve06orq|{6Gk_;sp>JFyN5^gcP;F62Sm;cjBwyDs_0bKQ)+-}5b*8q@%6oEF&KuQrixJ5?r^(4jtBIG^ z9H2*%*R`Wsc{&$J@7vy0bZv&ngWtEFuGEXl5F!$|`j>El{15l!W#^r${N@92h=Big p7=nwtV~yF#(F4)R8^kMv010c%7<^!hH5=yOdFB8B 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 5c18b235c2127e6f2b454b280757424f07ff4ff6..b4e134af47337f0332784ad01c83735d6a4777bf 100644 GIT binary patch delta 367 zcmeyszJHzm8D!WQWEmOQY%=pQOY9gKL^XV}63Y_xa}x8? z^@B@_GV{`{Cn^$Bz?qx@RFN8zTfoS`tf3h;ajq5%b8d0^ z#G_{?FK1lpYRA9?gbWO9TH4zg7&ii0ObqNmk_#frzzXDX0Qq82J||EH1lSn38F&~N zfsmJhZ?Z140wd34KW1@8Fk4a(tOq2|0K^bIj0^%0m8xP`Wd(tD0X+!RVG6`dlbA)6 zrID}tOklOh)$jlbeQVo1I*%*VhrL?=STo`GXdF>AZr+;06;%3 Ai~s-t delta 258 zcmdnO@qu0G)W2Q(7#JAL8Kk)wm>DG486?>mq!=04Y%=pQOY9gKm^CJv6moGUXC&sO zr-tMfOuVi&nVs?U#7&};FEK7P(`R4=LIws_t?dkq8-WZa26iCH1{P#y-~h6DAPN{b z8MuHvMh0#M*2#Lz3XB|+{h39Xd7wOAFpn3?69V)2pgeIfj~~jD0rB_+7zBZ4u>noA s2V&;QjLag2ieUQ`fc^m41F;Xp5@HYrk|34{gDB92j0|Ex9utE&0N0lx{Qv*} diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cook.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cook.class index 81b26a08d90287afcc7f93cfac1070f24b40200e..ae495ee60a4579ca012db8d9142798ed6101e99c 100644 GIT binary patch delta 463 zcmZXQ&r1SP5XZl7-|FhRW&YSLGi}SPbuBH+A}SA2hsawIbd*@k&`nB$j?rHr`-g;d z2s%XPPF=fp?+|p3W^IKahWD7yF!OoCyA9oi_Fujqp8%|3RYm}rAZC!2FdM`i3>h3b z87A@)<|QmJ_%|DNqf=o}jp|wLs#a{)?0WH_bJ4Kt8{KugBwMX^^ZeSf_I4Pe|9cpM zC#N)H9k$vG+{hhud#1=+m-X)3m-EgF{(^!c(vBu%Vv7ovP*R{_S;C5fGUWTJkYdga zPwZA8Pyl{2{{YsbOn^eS{9A<&5{8I1kB1Q^qJE4Z0!9%<%z5QHQ=Ct(^0-HlKB*pQ zE`>F+GK6TlOh<5@#ds$9$IdXYGmLunG0&irA?6d2z_{}vZXIW7FOz%*`EpQ^?|V#$ m#4?hYpig(V9vC&Gkfzt&+9bIJ=#&S*rELk^-D`?i!1NErzeO1U delta 425 zcmZXQ%SyvQ6o&svnocuGy)-7Z7q!}pX{@GRK*S5^R(BP_We|xK4I;%C@CnMigF6vd zf(swOr*JR0@Bze=Iy+}^&iT#^GvAyi>)zUW|9O1_u!#+U9BL-!vA|I`(Lhr`M@wK4 zK1Z7)V94(Dlm1|jLHCD;i7?MDq9i^)zP=fL2C~Awox;&&bQgtJ)DC-t+kO&nOH1o! zmuz%Umit=WTeh)+(1wF9$EuArtTS}wqt=lR+E>ir`u{I!pO6?Q!*p>lm=F{#qL4D9 zYy>Z0&s1ozDP~7a9eJwlzXKSz+5x9i0=kRisyjCLjOch31P`|a}Ye{cT=Fab|TFBY27gU8KS#FCgj z5szi@SkbYHH8ERn#<$pL!lsTbd?%J}>v)RqH9XVNiXENS{Gj1S9Ua)w@RN=%{H);@ z9o=I5RfEZ3Sj8ap3fx~c3!I^IdEY!VQ+d6I zxqT;P^T5fu2WA*@-%X|SW)NiLr_?(41J6yBtO%#&6lX3+RBVw!J9G}hqXT;T=1P#; zi|botMwrcoqqJ8jn6AyRP#eahV&J$u2vW*0wdRvo>!z*V3DpR=f5`2prbA9$)!&j8 zp~N0It`kl(bPrq%>)fcQ>f3s)-nSgMiWg9#DX z4OW48;+vsqy;w01R7^-jsEUE1(FtfS#q3bk^53{s40*Xc;-+n9oM11*OXV_Fqr5H8 z%Lgf8IVF>3(~M!Hw%}D6GtAd!b0HpcCE=C&Y_)ywpxT#uOFyGh%U8Tb+-25#UJ4Z8*` z^c(n8JQCo3K%}so!;kkhvDBX$d#>U#lWWVe6%er@S{V!#AxT(Q0u#Z~? zUZ7t?-ar8(44Il*{7Imk)S3xRwkl5n@!I zj+a`e^EISXmYW4?&t1}qv!CgNJP?cWE?G-qbymT-BaU!YcVyVBu??!It7D+H{aV%i z2DfQL_0Y`*h#?}j8_gp42p`LlHl!SBFUpZNpB!mN(%1q<#deFHU(wqR*+po)o;(3d zHoQS3`5H7tlS6ON_@}fR5Wl05p4Ski+fXyw&`uYhZu&YXf0GDEVu;?v+S{avZY8*b zVZ}48cwz!KR>9RJdxFsWs<2{ZtQbTNHj_Y3N|9TfCAf9!g>YRKWGv9nqHyhHJUs1W3&jV4G4y0 zimXXYDOonTD#G6P4z15bD2GnawvxPk3?cL^YAKK-h*KImDG><@m&{mzTB21KBOehx(>Ea_vn0_B&w<5fLDPfujGenpr!uc8qGmGE48Ti;4_!$}4Y%=pQOY9gKm^CK9XDpiR%__^r z!obSNU^00lv+Cpp9PE<~*`2A~EGAjtz}vodfpZ~=LY4BSAHiGc?IXfP3N 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 0f48f420b70533ee07b0d426e6f69dc8f1240740..c401960acdac198dfc71830581b3854bbb309197 100644 GIT binary patch literal 2239 zcma)7Yg5}s6g_Jj3lte*2(La;NJ(m-jryQTS|_AnLgK_cTD!?i`)RQ^LLjd^(wZ6n zlm3jh)7Rufe?Wg!r*|dUD2~(dFz9O6_nvdly?0mt{QK%}0C(}igo)3lFon;j@CCMJ zY4@Iqukf|rE1S5F2l{Q>z(WJyFiiMCO9Tw%nrL-xP6XKA!1;cFZj9+luWgFTZ%2BoT(#!KpLwOUWrXP4?JxTJ&)op98O zg7lU9vNzy69+NLA!fxR6R+ERS(d&qEiYwKNNfMk4(}U9bcyfkn+#ja`LG?#W59>9; z8*zBdy59|&V&ByrFZ2U$YflSHSg|mNX#+bJc2QxtN`+CO3V7#0s8hcc&g8K-iANUp z@z}r<3so#zSiquzrxu=}X5kv<8Mel{1%|W`-(|{2CugEbLy_95_d+GwG#Y-FewdH- zxxRf&H-nUgxy4Xq}n!>#hEA4oqRv5!#o1fFb$tG7XTy;usq2f}}fZrQ& zTHdVR$db-QIlrC;%~3}utTmkyd$r3ntA>sFAqpVHbAjJTaoxNLbMT#Exo3~8za zuLZtkrhiQN$Nej(#U&6G?s;{W?t24tAKZLH->BReuK&MZZk4`9CViz0c|PocXAl66v0`sLjuR}32u)F&I|{yj|k4fjxzof-;vdg UIz|KEQUSlD^(3wD(Er{40D|2~ZvX%Q delta 501 zcmZvWT~5M46ot@ZSbmj=sD$-R>M zB@ZmQ6ylK8Cf!nPrG7kkfmCm(Jn~hR`QLSRCNV4hNC zK_JG&1)JWUbMNiBkA8l=e*ieap$Cpe1x4(Yv0ugkgCAwqrBh`>Z5_i_IFZj%WKPE- zXF3d(z8)viWkxYv{c(3gHOhoblkr50k+Kx|B%M9Rk= zNBsfzr7x~kKj?$YXP3XjAK`MT`_3e0Vq4aNm$~~qeY-~N953xG@bGKV6j zj$jaH^61CeAxh8XF^BUxSeVzlmkqphhyx!#ad z$@r({1;nmEuI9D;x?=JqbL<((pWl}Eq>1M+Wa0|mG;tMg2^1GSFAPFo?vjTsuMrGp zajl5AxhxhjYNCwm2Hr7o1MeERX<`YtOuUDRz<_pWwL;smDs~W>ctN{fM%Bb^teAKo z9|&AHNcB2&ny6t#;MPHG_piJ_`4G-J@pSuTsGIW=drF3$&z|ZOPSZe2D_tcmVeztL zSV=a=iPCi9HkMko=yD;4ReZ=omtqY^x|`PR^=(xT*Iht zrcsa01m=^`JfYc+B}ob=M$dIzgX29wo!V%CEg4kRS0s&(ke*UEIvnlj_j>HJ13nxE zJ~Ht!J~c6pQGwG@u92ec-t%^pRf%Si6C*dIPWiq-zS%t)_?#S6Ja4DP=`@#ImyeKs ztQ5KVJz3wjzj*d;O1I&tU@A6TNVGvM^lf)DDd{m>y}zptcNs(OZ=0mP4O^CuQzQ8c z2EGtD^8`On%SYhk{(6{Tj~Ds30WuK!q2l*>o-D3{Yv0UI5Z`l?!cl&+k~?#);M z$1%*4&`%M++V~FA(cR?C%p;`skQR7M|JXxc3O^&e2P1`F(fFmP(*Po#=D z-M#Jb7P)E)3k+}ITNs%K$RyxnD)WgP3xpe^fp*)6RQ?+0hcsyJC-Di_9R1zFXSjmu`Pwx77DEaN*A@Z*3_y^MbJReAlmwKNCsHg?B?uldhDO! zqyK=u^u=?uN*_Ev_w?`ZkMMZZZ#GGHV`Y%FjTQ!wbE*AD1S|EIJ68`yqa{@rElwX$JiHc+kwDhMb%qY=($@v zwpCYwz2!D#7%Jbj%8m?zn~}*{Res>P)`IPD%UWMrEw_TuYbd|$+qBrSBw#j_3cG88 z0XtYuuCEpk1l0v7P2XW^1ZfCdK3oKW{#u7FX;nj6+g+B;NCyKXe$0`Ljk=sl@}HU) z5KVzx)ob}R#l$J(iG32kxFhdM6E9%c#5KHS;yT_IDBSS8FbI9wqz2nwJs8U3odVwF zaHD`R6J^{q@SceUyl-I9#1cL*@gXV#gF2wq3T?-#*g>C#-A0kkfOI#4s%SyMHZktePi1D56_qViG+tB(oVch5(B^cG@S%v#BzX_+%%1*>fCn^?WvJHuTzBobDm|e^1ghYVBhJ z^GP;Od3LxYMPaAtc5dIn@gAV=-DrSq8LX&pDHEhydEqBf6{ z_uGlr?z=_l)*Tg0wGWmOWl#-$+ucf9dJeALYpTO-wjrN?HYt4vwk#c|O7Tkuz7{z5 zls^0ABXIipewbj57x;$(`XKZp#qWz;SsVq&%*?M4KXH=6QGT9>EXZa_KVJ4rz zjAD$zHOKErN}rjVd4MBrq@2L=g+1g2zQ+hBrXbG1%G~S^$n@R+@!vnw_jw>4 zz?A#Qdx8Pa(^@3tETJ^;IQ=GI;3Q6QMwku-J$s2Zic71B^xqgXaAx!`qzXA*y&Zb7 ugby&NVUrT(6S-vwbBg)|vny8s literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Manager.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Manager.class index ada72af3605ff424d50c5faee3efba0effedc661..7fcf6234745881322973c6f7e0f8f7861af1985d 100644 GIT binary patch literal 1712 zcmbtUZEw<06n-wRgO$Cysra&271&(WZ7zmo#xYEmfRcbS`o&z}$~wz!)0P?ji9cdr zG-f7#@T-YG%6M8TV;ReahS2t&p7Y%2dCuwm_51q|02|ndV+ac|M6o!8J2BkFy*N@x z$C1HO6w6WEXNYWSQggN#rc#9ie#ljw%Z6HZEKN4D={<%}&ZrB9(Sjz$i&nELtO~E{ z6qzU(HLmY*OLNzLFy!oOHp6;B)LW`!$i{)D)`hJ#q{$seSW?aD+_rbTkXjO!ZAi7q zC2t5T%Mce$Q#aZ|?C!W5oFT*ztL+m(QE8eC!IVod(lYDZaVgruadeS02!m_VA-INc zio&)DowA#DgJIYfvfhnNOT*FLw_kIOxY-q>EUZJV<|e1oZy6G0hu1z7x#_D*bkcJ~ zK?CwfD|n0~!|Fe@mtk#?s=Pl543o|F zuB85$`-T)<@3$^zOvNyCTlMNoJ@qtePX=Lgs&!=FvqIrrzE~=}e3Q>JY+efL94a)y zov~v0G}t`-wW!Z1UCtc;`#U8ro9-FRZE{a=Np6jwe2adNT&Q+l?{U2)Fh>W?5FI?A zD@`8abRDME76SAGBAKOcV4vwJ0EMn`FB(P|5hQ3m-O0iTMrlR)7{fSW&_RGnA8U!? z%>AFhM7+ST2cdLc`Vb6PE-oDFTR3%b;Z)zk>8|W`qUp*$Lp9l>mUY!KT=msnyLj)J zzI$Is(zodqLY@=J%vS_{A{;z&A2JicF9;nYe2mBuF$;Qa7@<2bPt9APrY-g$Cw+1^ pyj&I|(3`mBZ}HR%_K~;jAfA$oq^MrkiI{X)jPs$)A&RObPsOq?7lk zrj1vB`wjk&rcB^+<6BEPu|_5x>3pl7Q@wdB?_`|ulHx0Gl}_uyNUi;`NTB{7Gw_y8 zPF8wlbWr+bLf-6^>DdnbQ9*h%bhQ%-Ba~1U*!>6B0(;+~&RD(a6JZ?%zANFWfbRy% z+)i*5b1%3rZ#_WV^GAUTz(XNf#3Z-TTLGp}<%rMi9o`q#$EW#REK4u%zIT3Jpc^(vwK5 z6x0QxltfnS>k1w-NS*pV!)Al`LnCmV!O$}L+_whKkr@QsbBvm8`u^+4W$bg$cO8R{ z9DF+B6^2B!)r=A-Yn@k(ce`zdt@rchIyUW)`wTCO`n);hn%n0L*@ortW;p6{@4)QZ zymNTg6bC#TIxINSEn4TqArc|}$L$ESiX`q}by~<1z-RG literal 0 HcmV?d00001 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 c5b0bbf9a8796ba431367a1ce00373b5a1a77b19..5ac043adaf98915fe85deddf238df7794a4160eb 100644 GIT binary patch literal 4062 zcmb_fjaCy!6#fQ~Kv>FOCAQTTTd|l}qZV5=R)qkH2KiOAYU{E)hJ|D&-Q94?leDi< zPt{XBrw`DF>ghL|B`gp$6qA$Lnc2DbyMJ@<%|HLX`5VCZ*hpd!H#>0@V|p0xL>?1* zHra_O+|sk#{XAJnVg~p0ayEgvB)Tx4uf1BaX=h64%OEJpydn?NaRag|%3y{DHH&=R zTK0*GHuKBgQd-i%cf9gmxWx|v zS7RQ->o;wC!tqykXg1oUvzC-9`B_a~i)WiNfeXzE8Y33C*Bs4$wj8S|5z}kH_Ecq$ zVzY;XnTUACa2WN$)>7bMlZM+*kI?J&^t8n{G;VTHRXs~iIXXdf)$a8hwJ?$_%uwuZ1oq#m( zT(c^IUYt98V%-_sTFzku*YHCEj)66-3(S82kewkda5xw5iX?%VLy5RMVpvL=;C4BfQDAR$#1H^kk7GgyvXm$|DC$50p~=Dy^!n z)W0>EfMUtFx%(2+CwJ!HBnh}W$s59m z#x#2fFYMK;8GqpEpaT zMYdVF1gZkVd)_yaP2lr)pTkME!-MRUTli&e4`)p8e0D?Vl+W=5SC7LJKq{Si4UrZv z(V~ae^b54T#F0Nj!p}Jl;t0oHjs}us(!Gu;JZ%Fv{`w34rBpj*RWE!os3efig?dd;}$h<)Z@Cu#V zq9?-x!?efgm<9Uk7U;v7$O7s2%ads!Pa85g8=39~Wod0>y7M97Q0-+MTi_d%`K4!Kb0@Dy#K_9xz=>(Of%g>>c>y3@2&ix7X| zqgF6}wi);HIB=OJyuz@#N-O7LCOZ)UbTD31xJXe2zO6$&i=c+yqK8nuaVX-o?uT}r zXg7#v33GEjgD`#|*MmD(wX7 z3AuMfzO*hHWz_DT$xkv&xux*Pgad|ne(1OYaixR0$S9$-u0 z@%*;)u;zgdcnW4j+{?3n!6L<@b8nnAf~N#fww;y|if3O%Y%pD*UAV7l3ON z>lIe}D6s~byWb#ozo7IL<TD!4owT%QVFoegeG1y``j4tS$q@bAsMWX^U0ZjLu6=6GMP TVXZJv;5u#;Q@Y7`3AcU&pp*Uf diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Dish.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Tools/Dish.class index 874d032b0f5bc996a33b4986bd3c3998139ebdea..2595051daa42219fb2076956903ce1869e5c631c 100644 GIT binary patch delta 263 zcmX@ibeY-W)W2Q(7#JAL8N|34SQvyj8JHP_*%?IG8AKTw*itf!Gdx`w8H9YY63Y_x za}x8?^@B@_GV{`{CyG`naHgl0xImSNXlP<6n%E=5!Op6Pzz-x* WHE&^H+JL5+9imwbO}7A8nIHfO;UZT6 delta 149 zcmcc2e3(h})W2Q(7#JAL83ec(m>GE48Ti;4_$OLa$#Vtgmlh?bx@G31GBR+wWEN-W zWhIs+@-VP4ure~}Pi)YitidQ2zy#C<0*pWilmU`#K%PFB&%nT{wVi=+BT#^efgMP) d0fiZW8aRL?517r$z{$V`~H8F^+}xIBw8W4ioe5 zeQ()MJ3O;E>^tn+5Nba;IWaXcv&X_;-*6=Rsa;>xK&Qi`%dvE21ml@8uoacf?OZK}^OT^_lo_Dz@$IF34=_QvJc+ue{m&;^awo-4= zF3;NRajUG$rGcbHbn5iX#Ms5^vC)ai^XJmW_pHMemzPPoT;&yqS6yD?b(c3x959)5_VO8c6N$9y~VKedyrekcG2u(4eWlKFt*u zHQ>i*W)$+F8L_DKa2;XOt+1^dwW+fatlf&RWxbGG#!C9X#CHvUas_)hvrOO`!DOS3 z#_Kp1A5geLXt+4MOynDx3M~4YuH%}UT7g1~Z;1{xCzsf;MA3)q?lI$@Tl+nS+rL0@ z(-Ir!lXkw+yc#THlv5InO_Lhwph#y7J3|DQ0$p!p6D67>&OMaUE6WfGMyOEWW`$Og zmd7MjqIiqgtEO2gl1kXCn7b9_mq$owo2J&R-0N+^pzYp{cF5|gmAs`+sD%tl9$Ztj z&mrze%-kgCuygATd>sy<(E4h3X|=n#Kfh2;sF+CeIW8%_ zYL<@M#n=BoUg4W(iRQx%-E+CM-~R1l%Ph^e%aXX2C1cvim;TEO_l7qT8I&3jn^8{> z+r0@FZA#$2fY3F z;3!ATQ%r!&Rf)}rCm_e*I?{Uo6VECS=+R4Hoe zv_%@S4r*jts~Kc|)Jy4Dl9k>)MN9{T$4 zGq*NP%dFnB1||ksuz6o`nS$aF{RXjO?pkhawOlBTrIwd-Yw5yDS@94LD-JWDD6&}X z_7B7dDJec+NpXcm#fMxqNLK#}CXXtXSy7Z(lxZvZa{v70+|p9M)W47`lvbDXHmizj zd}Q;nVvXz7yZ+RPL52(>OION;g|+=coh{j{D?VXL@hP9#R1`P(T=9jDe92UGI&jkR z4IQ~~Yd!F-S&7W1GO5!ubC>33&Yhh*Z{SO%(}F%OLVyoblN8U?j4*h_^B)yY$Tcej zisX-gk&+HeqU-K1hU@zga|fS$2P?aae}{l;>|ndY;tk&>Xz)#imOF&9ZO$&?yAo3d zvm>`@krao;i5UDsYi87~bD&Q2X0yCam)G|GsG(-JiH+20-*TCG5k>?QCWevkJ#+5M{ z=^0^E$QB8T_n6QZ(u{d4(cV#SS;r)*1WqHOmo_ebAAvo&(zJ=&6?wkgCt#Bt{1z(TIKWll^~(x5vU zy$=8;_5oHT*+8g6`v`p)u_lTWg5pUg#frZCBXa`sEe`)mi(KpTG&vv=v>mLI(1LG{ zZqvEJgk%Gro|9Im)l{@sdksk^{hj_gU6pORH}KW={;bh1ojn@_YB=KcN?0qZiTOMk zU6Bvjc0@McAv^E(NF0+teOwfokU#x67X@sdr##Y0{E`cMO8GVD2lR`alo?u=@uCzz h?QN&XGfc@VNh=xN-mh diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main$A.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main$A.class deleted file mode 100644 index 9fc91ce10b1ab8035680db6f5fca1164f25edbab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmah`T}uK{5ItAT)pgCyKCR5OeNcn8w;qZ>geWj03ZciVd$B8aH+HZ6uOJZ$`T_l@ zXs-2aFEh-{IWuQwzP{f-0i56$vG2l3G!Pfk zG|ZZPjz;{2j*#h!SYL**worB8An#xqHIn@QF$}WcAcGtoV=p0*!`1~uJwD&0UP~qQ4MV@ZCO7_j z)w(kx<~`pN426MIVz_u6i{Ocm=M*Uo{0X0rcp#1cA50mlG6?P2Gp_OiVPxNqo`j zKDF2+hGe@lLX+;BrlTi7`$irp77as+(BMRKi)4YkXUa&Dt~jSlFy|8qhb@tG&PaSj z^+l2;LNhXlZK^EOtB?gWR<-m~A&*d^9xSpl+H6zMY9 EAF!96)&Kwi diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main$data.class deleted file mode 100644 index 10af70e3724855037a944184a8302d80c508a595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmah_O-sW-5Ph4*q>0hSR_h0dC_S_lj5iNTF9lJE^`PXwO_sVP-AJ0=U3|hX%HN*w}H=b+OCf=qFkA&KZtkku4)#sM%abnW*GU zJ#(!^siHeB)g`4~NhS4&;iUgh?jT{X$3-R>TCr4OvRq6>`N*d^G3~fWd7ki68vIAv zW(+FIxaJJOtx}>K=e()}vAxypdZvix^B;<3nTl&^x_D;jvpIhux#mPv`lhI~i@gAA za00m4r#)6~T+1?qMkC6(nnm~1xkxp`;mSIOMt_jtm`-ie)ma#tmgYz1qDkH(G=fD2 y_`}mTu;DwbS3(wi@($%t1ncCxzgY;-B4k*jMokbBvap4A{dTZfM@^)I4X_{am~;{V diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class index ea09de96c511721c3eabe19d57a19fb9bb73d560..3e2fe6dbe230ec37bf4e3076d91a558df2056484 100644 GIT binary patch literal 1572 zcmb7EYflqF6g@*9Tgoa}1mA-17KD{5s1#8|5wsK%2n78!(6KDp?l!wyNq?4p03(S% zz`tZ-JhKZ?3{9{fI(P2Oz4zR6?#_>2-@XHQjHN7kG1>_W4>B0bqKJnE9%YfjsDbee zZe(F#Lhm0Nc#^@>EV?j}!DJRCOzFdCI%wL!a|15~(o?o;htmRyd|^!>IqOxGKzG@8 zRi#DQR3_k?32lfEy|7e_Wj+p%VRU$)A25Hht< zm#(ZS-WYEWW7d&D@G3%PEh|6pG_oj+84|nUn82g|ie8sC`-_8%0;$Hf=aQxA(5C^3F?G7ahrPe9Hyp2}RB4(evnyWH z-%@k7mbp_4HmWr;aUOjJW=y=qtU%YcavX1P*YlmKfmbG8V~&DFY97}_;9=WwXs?4V zH)rAv<^_uX6CW!fklBqS8Kjg)X3@ZciMM!XqKriixgv0_ZF1eZK+m56UE17HTj4R+ zN-GFeojQ3<9vsf3?ODql<&XodWSx}8v>bPHQXBe`!y0}0lRtxmtXBUyjWLu8oQSEm z$p5Cb&1_M@nhF=(Ae8PFgBv|!Ul>f=rwfM9U zelq{Qu!bAR@d4An4hTJB{O{+^;wreNhV~&oN5>cVpN^a+F48vR3%G>K+;!p#uF|7} zem>os6I_Mx z)-Vu3pO4|;8m=?Ghhsj#IKlX5WaK8f7{Ul{;Wq1xbAN|cl3BWO7x(yKEBEp715m1yN2qPvYW0GJn#7||r8O5%}w$u2d{GcDe zNa7FhM;V{nk}wm7AKG*7d3(-t?zzAJ{QL!A4ZAwJkx!$5xfCAhn8$*KMID{UYcO?a zN-pVmjAb2Ztf=r+4No*Y6%acD#%tG=e#xtTY?P(tm3mJG5lVUe$6AE#Fq>D`PS|u~~7vENe|O^xXQXZPsL9*WEKK z45jaydzS4MS++qbFqD5^KD9nsrenEv^C0wXw_c23Ex*n}12?$Ya8+QrJw!xoH$pY{ zr5|{%S@OIOL=_Ewb!q3=ATx z;hBNwSf}emI*vE-+4G&6hN6KDybxGwJCHWr3XHW)QH^lOxB91fshbA2@KW`+ZD0o_ zfxhcuzd1gY)$qS%xGqz-1I268Qu*LZ5K2xu;Wb%58(*;PnftumkasMt2Io5vweqi7 zKs!@G4(Vm{H*ZFNl-CSx$BZd(O?rI!v1$9V;<=Tk;|R>OCdXmLLQB0X6S?JYUxjEH zQ=u2HrodpnwanGRVv=vJn{N~70ArBle~2fOQc!lzT|j(`+{65LMaC3z)Qva*BN*i= zjk~x7)6hAJE@ja3L4glMGxqhrv*4 zBgt63hMhu+<%apsp^tz$Le3DdK*$x0VH5YGmR4g}TJAHxk1WP9!KQMUCDT!IoMHA9 p9w5QoAxu+CQh&&3<(s8U@!Uf?8RmmI>ZGBURnnCGlo`qah`;-?DZ&5% From 49d0ee6c3e1bfa4ebcc34587a48499a90bf8eecf Mon Sep 17 00:00:00 2001 From: Eyisheng Date: Wed, 30 Oct 2019 17:28:03 +0800 Subject: [PATCH 4/8] combined with upstream --- DesignPatternProject/DesignPatternProject.iml | 2 +- .../OrderRecording/OrderConfirmStrategy.java | 6 ++- .../ClassDesign/Order/Order.java | 2 +- .../ClassDesign/Person/Customer.java | 21 ++++---- .../ClassDesign/Person/Employee.java | 16 +++--- .../Filter/NonVIPCustomerCriterira.java | 2 +- .../Person/Filter/VIPCustomerCriteria.java | 2 +- .../ClassDesign/Person/Gender.java | 5 ++ .../ClassDesign/Person/VIPType.java | 5 ++ .../ClassDesign/Person/Waiter.java | 2 + .../src/edu/tongji/designpattern/Main.java | 51 ++++++++---------- .../AirConditionerAPI/AirConditionerAPI.class | Bin 0 -> 206 bytes .../FloorAirConditioner.class | Bin 0 -> 985 bytes .../HangingAirConditioner.class | Bin 0 -> 991 bytes .../Business/Builder/ComboBuilder.class | Bin 0 -> 734 bytes .../Builder/ConcreteComboBuilderA.class | Bin 0 -> 1061 bytes .../Builder/ConcreteComboBuilderB.class | Bin 0 -> 1061 bytes .../Business/Builder/Director.class | Bin 0 -> 1083 bytes .../Business/Command/AddDishCommand.class | Bin 1002 -> 1002 bytes .../Command/ConfirmOrderCommand.class | Bin 768 -> 768 bytes .../Business/Command/CreateOrderCommand.class | Bin 764 -> 764 bytes .../Business/Command/DropDishCommand.class | Bin 1006 -> 1006 bytes .../Business/Command/OrderPadCommand.class | Bin 750 -> 750 bytes .../Business/Iterator/DishIterator.class | Bin 2363 -> 2363 bytes .../Business/Iterator/MyIterator.class | Bin 358 -> 358 bytes .../Business/Iterator/OrderIterator.class | Bin 2400 -> 2400 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 983 -> 983 bytes .../OrderRecording/DropDishStrategy.class | Bin 1737 -> 1442 bytes .../OrderRecording/OrderConfirmStrategy.class | Bin 2245 -> 1806 bytes .../OrderRecording/OrderCreateStrategy.class | Bin 922 -> 922 bytes .../OrderRecordingStrategy.class | Bin 358 -> 358 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 .../Business/State/LeaveState.class | Bin 0 -> 778 bytes .../Business/State/OrderState.class | Bin 0 -> 1132 bytes .../Business/State/WaitState.class | Bin 0 -> 1128 bytes .../ClassDesign/Order/AbstractAggregate.class | Bin 1443 -> 1443 bytes .../ClassDesign/Order/Order.class | Bin 2714 -> 2714 bytes .../ClassDesign/Order/OrderAggregate.class | Bin 892 -> 892 bytes .../ClassDesign/Order/OrderType.class | Bin 1137 -> 1137 bytes .../ClassDesign/Person/BroadcastType.class | Bin 1221 -> 1221 bytes .../ClassDesign/Person/Cashier.class | Bin 1076 -> 1765 bytes .../ClassDesign/Person/Cook.class | Bin 1455 -> 2034 bytes .../ClassDesign/Person/Customer.class | Bin 3381 -> 5481 bytes .../ClassDesign/Person/Employee.class | Bin 2239 -> 2167 bytes .../ClassDesign/Person/EmployeeTitle.class | Bin 1259 -> 1259 bytes .../Person/Filter/CustomerCriteria.class | Bin 638 -> 638 bytes .../Filter/NonVIPCustomerCriterira.class | Bin 2125 -> 2125 bytes .../Person/Filter/VIPCustomerCriteria.class | Bin 2094 -> 2094 bytes .../ClassDesign/Person/Gender.class | Bin 1112 -> 1110 bytes .../ClassDesign/Person/Manager.class | Bin 1712 -> 2404 bytes .../ClassDesign/Person/VIPType.class | Bin 1117 -> 1116 bytes .../ClassDesign/Person/Waiter.class | Bin 4062 -> 4604 bytes .../ClassDesign/Tools/Combo.class | Bin 0 -> 1202 bytes .../ClassDesign/Tools/Dish.class | Bin 467 -> 467 bytes .../ClassDesign/Tools/InterPhoneChannel.class | Bin 3374 -> 3374 bytes .../ClassDesign/Tools/Table.class | Bin 326 -> 326 bytes .../edu/tongji/designpattern/Main.class | Bin 1572 -> 3550 bytes 62 files changed, 56 insertions(+), 58 deletions(-) create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Gender.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/VIPType.java 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/ComboBuilder.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.class create mode 100644 out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.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/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/Tools/Combo.class diff --git a/DesignPatternProject/DesignPatternProject.iml b/DesignPatternProject/DesignPatternProject.iml index c90834f..e7b98ac 100644 --- a/DesignPatternProject/DesignPatternProject.iml +++ b/DesignPatternProject/DesignPatternProject.iml @@ -5,7 +5,7 @@ - + \ No newline at end of file diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java index 01d771a..0711cf1 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/OrderConfirmStrategy.java @@ -1,14 +1,16 @@ package edu.tongji.designpattern.ClassDesign.Business.OrderRecording; +import edu.tongji.designpattern.ClassDesign.Business.Iterator.DishIterator; +import edu.tongji.designpattern.ClassDesign.Business.Iterator.OrderIterator; import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Tools.Dish; public class OrderConfirmStrategy implements OrderRecordingStrategy{ @Override public Order execute(Dish dish, Order order) { - var iter = order.createIterator(); + DishIterator iter = (DishIterator) order.createIterator(); while (iter.hasNext()){ - var item = iter.getNext(); + Dish item = iter.getNext(); System.out.println("confirm dish "+item.getDishID()); } order.setTypeToDetermined(); diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java index 86f37a0..abf9135 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java @@ -47,7 +47,7 @@ public void addDish(Dish dsh){ remove dish by dishID */ public boolean removeDish(String dishID){ - for (var dsh:dishes){ + for (Dish dsh:dishes){ if (dishID == dsh.getDishID()){ return dishes.remove(dsh); } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java index 7aaec75..203a7e3 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java @@ -1,7 +1,6 @@ package edu.tongji.designpattern.ClassDesign.Person; import edu.tongji.designpattern.ClassDesign.Business.Command.*; -import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Tools.Dish; import edu.tongji.designpattern.ClassDesign.Business.State.CustomerState; import edu.tongji.designpattern.ClassDesign.Business.State.OrderState; @@ -9,15 +8,11 @@ import java.util.ArrayList; import java.util.List; -enum VIPType{ - VIP,NONVIP -} - public class Customer { ////<<<< private String customerName; private Gender customerGender; - private int customerAge = 0; +// private int customerAge = 0; private VIPType viptype = VIPType.NONVIP; ////>>>>>>>> @@ -34,11 +29,11 @@ public Customer(String name){ } ////>>>> - public Customer(String name, String gender,Integer VIPORNOT){ - this.name=name; - this.gender=gender; - this.VIPORNOT=VIPORNOT; - customers=new ArrayList(); + public Customer(String name, Gender gender,VIPType VIPORNOT){ + this.customerName = name; + this.customerGender = gender; + this.viptype = VIPORNOT; + customers = new ArrayList(); } public Customer(){ //初始化为点单状态 @@ -126,6 +121,8 @@ public List getCustomers(){ return customers; } public String toString(){ - return ("顾客:[姓名:"+name+",性别:"+gender+", 是否为VIP客户"+VIPORNOT+"]"); + return ("顾客:[姓名:"+this.customerName + +",性别:"+this.customerGender+", 是否为VIP客户" + +this.viptype+"]"); } } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java index 7e140b2..0cf72f7 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java @@ -5,11 +5,6 @@ import edu.tongji.designpattern.ClassDesign.Order.Order; import edu.tongji.designpattern.ClassDesign.Business.AirConditionerAPI.AirConditionerAPI; -enum Gender{ - MALE, FEMALE -} - - public abstract class Employee { protected OrderAggregate order; @@ -21,15 +16,16 @@ public abstract class Employee { public InterPhoneChannel myInterphoneChannel; - ////>>>> - public Employee(String employeeID){ - this.employeeID = employeeID; - } +// ////>>>> +// public Employee(String employeeID){ +// this.employeeID = employeeID; +// } protected AirConditionerAPI airConditionerAPI; - public Employee(AirConditionerAPI airConditionerAPI){ + public Employee(String employeeID,AirConditionerAPI airConditionerAPI){ + this.employeeID = employeeID; this.airConditionerAPI= airConditionerAPI; } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java index be1d873..37c9db4 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.java @@ -15,7 +15,7 @@ public void meetCriteria() { @Override public boolean isMetCriteria(Customer customer) { this.meetCriteria(); - for (var item: this.customerList){ + for (Customer item: this.customerList){ if (item == customer) return true; } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java index 1bcce0a..f80df50 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.java @@ -15,7 +15,7 @@ public void meetCriteria() { @Override public boolean isMetCriteria(Customer customer) { this.meetCriteria(); - for (var item: this.customerList){ + for (Customer item: this.customerList){ if (item == customer) return true; } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Gender.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Gender.java new file mode 100644 index 0000000..70df641 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Gender.java @@ -0,0 +1,5 @@ +package edu.tongji.designpattern.ClassDesign.Person; + +public enum Gender{ + MALE, FEMALE +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/VIPType.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/VIPType.java new file mode 100644 index 0000000..f1687e6 --- /dev/null +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/VIPType.java @@ -0,0 +1,5 @@ +package edu.tongji.designpattern.ClassDesign.Person; + +public enum VIPType{ + VIP,NONVIP; +} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index 345b9d0..59fc85d 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -13,6 +13,8 @@ public class Waiter extends Employee { Customer customer; private double temperature; + private Order currentOrder = null; + private OrderRecordingStrategy strategy = null; public Waiter(String employeeID,double temperature,AirConditionerAPI airConditionerAPI) { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 75040bb..f18b6bd 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -1,14 +1,6 @@ package edu.tongji.designpattern; -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.Tools.InterPhoneChannel; - -import java.util.ArrayList; -import java.util.List; -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.Builder.ComboBuilder; @@ -17,12 +9,9 @@ import edu.tongji.designpattern.ClassDesign.Business.Builder.Director; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.MenuSource; import edu.tongji.designpattern.ClassDesign.Business.MenuSource.ProxyMenuSource; -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.Person.*; import edu.tongji.designpattern.ClassDesign.Tools.Combo; -import javafx.scene.control.cell.ComboBoxTableCellBuilder; + public class Main { @@ -53,8 +42,8 @@ public static void main(String[] args) { //test for BridgePattern //注册不同的职工来调用同一个接口API的不同实体类 - Employee waiter1 = new Waiter(24,new FloorAirConditioner()); - Employee manager = new Manager(25,new HangingAirConditioner()); + Employee waiter1 = new Waiter("waiter1",24,new FloorAirConditioner()); + Employee manager = new Manager("waiter2",25,new HangingAirConditioner()); waiter1.changeTmp(); manager.changeTmp(); @@ -62,10 +51,10 @@ public static void main(String[] args) { //test for CompositePattern //注册的四名顾客 - Customer customer1=new Customer("张先生","男",1); - Customer customer2=new Customer("张女士","男",1); - Customer customer3=new Customer("张先生","女",0); - Customer customer4=new Customer("张女士","女",0); + Customer customer1=new Customer("张先生", Gender.MALE,VIPType.VIP); + Customer customer2=new Customer("张女士", Gender.FEMALE,VIPType.VIP); + Customer customer3=new Customer("张先生", Gender.MALE,VIPType.NONVIP); + Customer customer4=new Customer("张女士",Gender.FEMALE,VIPType.NONVIP); //通过是否为VIP将VIP顾客和非VIP顾客加入不同的List里面 //感觉需要更好的划分方法(或者应该有判断语句来自动划分顾客种类? @@ -96,19 +85,21 @@ public static void main(String[] args) { - ////<<<< - ArrayList arr = new ArrayList<>(); - Manager manager = new Manager("manager"); - arr.add(manager); - Waiter wt1 = new Waiter("waiter 1"); - Waiter wt2 = new Waiter("waiter 2"); - arr.add(wt1); - arr.add(wt2); + ////<<<< eatamath debug +// ArrayList arr = new ArrayList<>(); +// Manager manager = new Manager("manager"); +// arr.add(manager); +// Waiter wt1 = new Waiter("waiter 1"); +// Waiter wt2 = new Waiter("waiter 2"); +// arr.add(wt1); +// arr.add(wt2); +// +// InterPhoneChannel phone = InterPhoneChannel.getInstance(arr); +// +// var res = manager.notifyWaitersToService(); +// System.out.println(res); - InterPhoneChannel phone = InterPhoneChannel.getInstance(arr); - var res = manager.notifyWaitersToService(); - System.out.println(res); } diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/AirConditionerAPI.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/AirConditionerAPI/AirConditionerAPI.class new file mode 100644 index 0000000000000000000000000000000000000000..7c39ee446eb2c3a916ad9678049d3d54d7daf7b2 GIT binary patch literal 206 zcmZXOF%E)26b0W$1hKO64BEJj7eI)Kl^Tux3O~36cg^nN;Ve9WhcbdK&CAOallgpK zZvbl~G2$2#LQ>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/ComboBuilder.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ComboBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..9267c07c86760f8662ad6388ad51fd85ef153d72 GIT binary patch literal 734 zcmb7C%TB^j5Iq+PNJV-0!q>tbu<#ngPD3IPS452x5|?ecfs3Uzy{+G+iH1ZIKfsSN z&V~Bg7~I^Mb22mMbUJVE&#wUL*fo(xIfG3T36!%)VJm~}40ae&jz6}2hQp5NM?Cbs z!ASDHP;%hiT45*xkGEV)srHoOUEg;VZ|R;RhV-%YWY}OxR;oP)qviJnL%t(DaTbkj z5p*rvC8pHz9n0-mfz&uAjc_OxLwi2qW~6AUQoI>Sw=aU3hZv9*)7E@js^Q5`(EI{{ z^lm=EMIarrl^uxiQmDuc8S0hld`5n6z`XLKz!9fXe`ayIm)O(($hxy~$iiee`0s9W z$Y6n?IalAGt6?Z;BiyyT0YA4#!U>H%I)F4C2K_OuLs^<~a!T(ap$3wa0fpKGtoDM$ z^#sW$7!SlHkfT@M5vbFkt|iKHvwAEe4;Z9L6*?BC{j#RsfwOET&)LN<9BaC}W UW&+v}XxR7g)NDBM>(i=@4_d&q4*&oF literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderA.class new file mode 100644 index 0000000000000000000000000000000000000000..1847a191854ff8c42385eeb057b516b6708c8836 GIT binary patch literal 1061 zcmb`F-A)rh6vzM5uiY+#K((m&iGr4*EHPY|U`%L}+`l!Ue{7 zV`AbX7>ubOF+PCLp@=VGJX1<(nl>TEn?2`$_MBg4&VRoD`SK0G0$c|i6Il%5l8ws_ zuHdSTYbIW|F=^rr8#hgyvM_Do7DMKN3}yU~Az7GNXGoP*O)!j9WGGe|TU8OQdDVa_ zxr*|=VBL$P(d}X?-jJH%Nk!BeZmh!krgUpU%X;|Si(?UmZaMI@UT&4#QbQ9}Yf5BL z6Omh1p&yA@l+{*MwTnxO3{KTFEK9wy)GbOK5y|k`v3MFupU&s3sz&6CN75X2qAz)F z)7$nqhH-}DHVSn2!4UvS(t zDzPxnF=w*J|MAWYrGKTJY>pxAn?*9*JDneEN(Guspcz{F{HadRHN#+Q5w~5+7b<4E zZs3J=cQq!1>Wk(*9k-Bot@Ow_leT=rB)wHmZx={|8Efb}LdvDcOtttCY@d<@M(LYr z6_XgFoF6qHhqI&@&UJ?GQ@0s*iXV{3C7Vc{5FGkvI9XU-6sJSU51^!*$n;W%h%(%l lGCqJ}HDUKsMu{@kmvVjpCEJA4OUV;uyf5Vf-8X@Ye*vT2?05hG literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/ConcreteComboBuilderB.class new file mode 100644 index 0000000000000000000000000000000000000000..3f95b5551da2403672d5d5d0e245621f8b26daaf GIT binary patch literal 1061 zcmb`FO=}ZT6o%iMubE75ZJU~^^|RWKG-^ks3!x&I6gQ?Kv~)k2T+-W4=gQoPKS10R zT?sD4og1M$MWVRy2lzwU_$S13(=-hsfg*0^ocGK*5BHw;{`&LdCxB(R4mhT>7{Nsw zmmFNi6&qJgyk=v@#OpS0m^f=;&cZxH=79`l{E#78Slnbtl~qkJj8$YPo;G%?BHHk( z0abDp<$J-V7fGW##ZCE zwo!@YyBtd@O|nw!%p!l61ij(sS|=j{|qM!tB2xrDfuCkbQ76=$_P2Ge#$seCI(W@4WVS4aQZ2EqD&2>oTvLHaN#eE73>%Q literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Builder/Director.class new file mode 100644 index 0000000000000000000000000000000000000000..549943a0824e085c8b46c18cc948151cb80cd248 GIT binary patch literal 1083 zcmb_b%Wl&^6g}gFICh<+q_l-Xc@{|0Qu7FGiYiE=vWWnZs(Z&7r4t;xvd2h#0Ib;| zv4$-I1Vtdk2k;+Ru;LF8ckC2p!J>+grE}-Z%suDcnemU`U%vyW`u?6H zB@cbO={ZrSQ(M-7=xQ@5ughKK0WLEBqh~dtZ?ky2=R|X-qVz_}H$uM>$L%mWxoZxm4cu{&N zBw==fICS}zP~{d5wATmD6URacRSN|ab<`}ZVvSlHy?Ocb^^4K-XQQ`YetmnTTu6Id0mE@(8czHHf<_t8 literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/AddDishCommand.class index 8c123190635e593e3211a5cbed1380d6343f78e9..02622d95b579fa65a696ab9d0d184a7a10763ad3 100644 GIT binary patch delta 17 ZcmaFG{)(OB)W2Q(7#J8#HgY^-1^`Be2K@j4 delta 17 ZcmaFG{)(OB)W2Q(7#JALH*!2;1^`Bt2LJ#7 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/ConfirmOrderCommand.class index 8eb940f73450d59377c35276f9fcb1b5b0ecd4c0..11694668060495a75f0dc573cad6c5f754604f79 100644 GIT binary patch delta 17 YcmZo*YhdFz^>5cc1_lO`jT}Fi069|zJOBUy delta 17 YcmZo*YhdFz^>5cc1_lQ6jT}Fi06Ag?KL7v# 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 index f7525dc0bc30d2e2dd4199d1e9bf50c4b33557a2..1516ae83eb9a2e6413a0ae5dc50162ef38d8aabe 100644 GIT binary patch delta 17 Zcmeyv`iGU{)W2Q(7#J8#HgbGn0su&@2QB~r delta 17 Zcmeyv`iGU{)W2Q(7#JALH*$Po0su(72QdHu diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/DropDishCommand.class index d5633684c50a4a673db81a63e36dc792f7016237..10f36c37411ef922b069e8c5cfb2fd6eed03f71c 100644 GIT binary patch delta 17 ZcmaFI{*ImF)W2Q(7#J8#HgY^;1^`D62MGWG delta 17 ZcmaFI{*ImF)W2Q(7#JALH*!2<1^`DL2MhoJ diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Command/OrderPadCommand.class index 817e0bb1384c7d35faf7347bd55f45cef1d2502e..972222b27c4d236d6a7ceefa479709e942a7a344 100644 GIT binary patch delta 17 ZcmaFI`i_<3)W2Q(7#J8#HgY^;0suzQ2Lu2B delta 17 ZcmaFI`i_<3)W2Q(7#JALH*!2<0suzf2L}KE 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 index ab397f704d5596d557f0339f57c08dd1e98224dc..0d7855a34ed3f9b3a05007fa4d81b501d09e2c9a 100644 GIT binary patch delta 17 Zcmdljv|EVd)W2Q(7#J8#HgXtq0sugm1`GfI delta 17 Zcmdljv|EVd)W2Q(7#JALH*y$r0sug#1`hxL diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/Iterator/MyIterator.class index 62b25b543c8bb1ccc22ca8d81ce1c3c2edbee8c7..0d3e265b75622cd9446fa15693458546104f9c1d 100644 GIT binary patch delta 17 ZcmaFH^o)t))W2Q(7#J8#Hgd!<0sus224w&M delta 17 ZcmaFH^o)t))W2Q(7#JALH*&-=0susH250~P 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 index 30d417a27d46e9de4bd821e79914b907d739b1d4..7542c098fe4dd18327c60a5d804909bcc450fd09 100644 GIT binary patch delta 17 ZcmaDL^gxK?)W2Q(7#J8#HgZI80suvV273Si delta 17 ZcmaDL^gxK?)W2Q(7#JALH*!R90suvk27Ukl diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/MenuSource.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/MenuSource/MenuSource.class new file mode 100644 index 0000000000000000000000000000000000000000..5b62a766adfabc0faae0fa66f9750268986bbbad GIT binary patch literal 179 zcmYk0F$%&!6h!C8n5c~&LmPkN35?i@gqG+{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 index a48e2a2d91fded279b69ad9130416860e5f33b39..b03887ec2e822127498b47eb69007ecf034a2003 100644 GIT binary patch delta 17 Zcmcc4ex04;)W2Q(7#J8#HgcS21^`3=2E+gW delta 17 Zcmcc4ex04;)W2Q(7#JALH*%b31^`442FCyZ diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/OrderRecording/DropDishStrategy.class index e91771ea46db77e6473d2f9fff3421e604795871..d9512bc20b2ac44a3d7b3879fd71bad65bc5d6e4 100644 GIT binary patch delta 480 zcmZ{hO-~b16o#KW)6VBD>hK|=;;2ZW6h@>76~&K@8+WeUXeLYpB~4pfaLX@X)fHPe zy0n-K2_z;g;h*>?h-X^1<|glZ&b{ZH_q@3mh423R%d68rK!vv+BZM9gdF1h!8J8!_ z+7vzVgbs5V&pVVdUhpWh=&)oH**vvb?pOY*&o{Yc^Gvfs#b#CWoHd(uO_djl+q?0% zIBLYr?daoPr{3Itw_k50wT{9~I<0n?)Vn*H4PGjou)DvtRqJ*&ud-2_n%BJf{l)mH zw8Dzp?OHQYEcVXLv6&D5nY$r#_F6-!UXois5N8FksJJ114PjYVFpw+~R>Jwx393JM z9u>3(mlk6Z>tO-oOh_hnm=w&K4>9FHwY-pGq?kt(kI9{p|8#;C*eOo-@Krc)1yZ~e z{|CMl1zN)LFX=YP6a#XCE6svL%Vhhkb{ Hg9rZrp@B!9 delta 765 zcmZuuOHc}GJ`JL}OH|Kr!`_ST#-}~PHEMZMY2B&qLL0-os z&Sp@+RE}CD9n&bMF~c#-F~>2#cmF4=W?^tt3|zoP4%5ITEO1;la0QDDBh?^~kqkxa zks}*HJsQ?imp95swxr`GZZYKQVbChn-KfC|(Y9?nQN%FuQZ$`f z;M+nzb7g~~ND5z4XS(w%HP(5mjxwwBN?mSq+>W`c48<+6BTP^Do2KjU1Wm`>kfG~u zCNyipmO;47vBIFO2SIbY#b7-2eJ8AWB8nX1emk@NA4l?x2g0v=PE)V{?f57EyB)*iA;19~ zrjVwSGw5_=g*;u9>=0!pc}D)o+*h!@Ui&Cntyk1AOmPe)07fuMzD)qZSpbPB-vQ)`&3M-!onnKKnn<-N+MqP8Ds5*>Y;<=uQAs1oMA-TQ#*Dcu zD{R=7F)_o8v0>o@_yE2EYlCy!nz1?0Ip?0|eV+5a_jB*#Sn2EU_aA{gD-L@|IUM7- zV${JP9fT8M#>gnL4vLh`$pCW>w>bW#J&DAHSn-sdLgO6WM{S(G&wu||cw172Zz9IAhb@Lr|Jlw?@HoHUwySQDVul{@!QY^D2 zbb~}&rol%fU8(CS|3=rX5m8%9|`1^UC-4w1x8DATLPJi-&6t< zHP=%cz0S4@HsyAkk~1~GA=_IraLs-o%;+6A6sXr!v*&2vYwfyDQ-yBJ>q@Ov;5n7H z48v+9a#ngFQNz%=7c^DyP&NFZ>3XerTk*Z`+@Mp}fz+ziFAG@ek!tibeScp{=U~(K z+o4l+!<}+EgNR7%zdZNiCJdLWRY%}zI@<(4nl{N(Aj=@AKwv2yM3Qmrp0<^AwukXw zJ9I9iuZDSQ*Sh!vPi3x!RsazdiN_3Xz7X|&B!#Qnfs%CpvH8hLw z<=q^59af*ftrtTbrcolJ1Qt_aBr;myR3lKV{~?^f?NZ9RJdESeHbKQSlN}jus7H(! z``kC&x0H_eXX)YDsL~)2>3Tnms(jS%(f+kq+x4CMf$M38Ovw%n@@0=6NcJn!e%zen|QqV8n%UM|#b+3TI-&^6_&fBu5Ml-4oQmP3Xs!!G?Z} ze?_+2byushg|7rI9s7S0H-QV!*W+V5&i9w?ijV9FXSN=Wr@3=D3(ncgzd`&G{eG2W zE)wQoUS(rQ1x(^BXI>S~aWuw%5G>1iY5o8s8wJxjs66pY{^9&j!Y<{s*}Psj!C K$GE@3&-owEotb<9 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 index 791e20c25a2a26fcd28d4f81f979d19dd2fd13b9..c887a36e09da35f116fc50e12aa36dac2118cef5 100644 GIT binary patch delta 17 ZcmbQmK8u~>)W2Q(7#J8#HgZg21^_$e1`PlJ delta 17 ZcmbQmK8u~>)W2Q(7#JALH*!p31^_$t1`q%M 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 index 8ca562ef984fa900a728a21d6041ded5f1280269..54e0bc39e1390660f1edc2afa6d02280de0e93cb 100644 GIT binary patch delta 17 ZcmaFH^o)t))W2Q(7#J8#Hgd!<0sus224w&M delta 17 ZcmaFH^o)t))W2Q(7#JALH*&-=0susH250~P 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/Order/AbstractAggregate.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/AbstractAggregate.class index dd821394a9c5997e83a9114bd0a47429e7f03074..1b35745929dbb92c7e94c371a75af12b909b05bb 100644 GIT binary patch delta 17 ZcmZ3?y_lQh)W2Q(7#J8#Hge2n1pqyg1~LEu delta 17 ZcmZ3?y_lQh)W2Q(7#JALH*(Bo1pqyv1~mWx 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 3c2bc48ee8b1077a76ddf5382c4700427190ee18..2ccc8cb56666fee7ddf1c9fee81c20b539a9f003 100644 GIT binary patch delta 17 ZcmbOwI!lz})W2Q(7#J8#HgZhj0suXc1~32s delta 17 ZcmbOwI!lz})W2Q(7#JALH*!qk0suXr1~UKv diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Order/OrderAggregate.class index 753da48c758517839bd778a5a0e830bf4c0302a9..a92930bffd35fd6f1a2d6acec4c25ae8334f129d 100644 GIT binary patch delta 17 Zcmeyv_J@t*)W2Q(7#J8#Hgc3O0{}Smc1XM1>`qO1Gw~M~ zdGHsQ@M6>`3J?13&oF}eCyZyd4Y!ie#$+#N&dfRAxqN57|K0csU=qo8gfSXM8_tIj z!&n>Q?MUE))?DnsI4lE~3|waDP@+^8E>{&-Ft9X3>n&+Zb(=xPW|#OgZWXzmx8{^9 z?R+vlD{>V}Id*3D>q#MeccNUuE5`c+wW0XH82t<=8o?q+<(rIx|zR zNscWrgi=n9@VjQo>`|q(DBO9zSR_q!*2(hX0(Yfe*OVbukRHQSW5HyE>p2u3_X<+D zNrrYxx#%nlF+=G_>yu>Y;rruem}?BJsni+5*#ebU%$Ldx!I&;ZYo(myN*BWuN)<)Q zp=i0Z6$PFb>LHbt=V`m|fc9wnV9CoZ#Ok6S1jt&D8 zCh>lXVPtD%?a!;V&6lr#etWyMvi@szoEX5!o#107u`mL6Nc2whcSy37~?y1^tFB%6rPx06;+ z5JU_8Bk{yw=rdS6_6dRaqzIskzMZrUGBn6k)1;eLafIj_K@Xzz*HSNzkUK4Dh=4B< zDd-%-0FKt69*{46s{aFm(a;)N;vdmUZ(top5c@H^DexYmR@BEdtClrPhQV#G3G%4D zvK*DhN>u4Sk=p)R0rncp1JqjbMMU0U*CTKc!OtkRIppalNz21#BY^W{#anA)xD6H zGRdXRk~43W&f5Fu0@aR5N#Jf*Y5FoA^~v^RKWAjSYX&kumsSP41gn0ioWN0+(sAOA z&Ms7vl2e&3r1xZX(#fTBCsQanCF=}B(hU{awm_XmMQ$cUpH4!8IY9zzgCPr~-l!0$ zw1U8RT%^(miH^L_sbiQ!D(#srBmbG4lNn!EMlKUrccjy6Y(pEbzD_#KsVNsYZQV-v zduwDmkk0oe1-0kp26-F(n@$4l|H#1Qn}V$L%4n|c%#7`TKC18e^?&4wJ>mVd0=y4;MR57N30~2JtuYd zMzw#W2GQGPwfC0i-dmXaK6aQUwEP{<@Dy{oUrYn{W|w7~LhdFW@ET4JSw+PABeo(u F{tYr+)Kvfg diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cook.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Cook.class index ae495ee60a4579ca012db8d9142798ed6101e99c..34990252333192c3a8a0ddee26c90150aebab507 100644 GIT binary patch literal 2034 zcmbtUU2hvj6g^|R+1ObpY1+6HN=o@?9h+v;(gMY$C9z#v$q7b|D)E5O#2%b&*Sps4 z7?C$5c;Jbr{)R$d5UrrJd4P9*1|o%DfjF}5)0n{7G#22DV=;qsIBzVkP4L3SG+xIW7T(MtjY}5ZvQQG3(5ll_q13%l35bfo z*k#vu^%Vg(U%Mqgk&Y+*w$sp|>$gjlnrihN9r*2AuG3PH+xELsYZdxV*^^OJiA~OO zFLHeqMb45NmIJ@#YB%szxKzKf-%^^tDUd1$E#{x9(QUQYSy$njT=!_1sRd2x-ISqg z_I+bYZ@7`b`O(1CRTu@t7X-IiaEA4I!KP9-SnJIG3Iz_!r$GxeMoV>|x&_kB4RWj2 zI$eQe-taKi>$apeOhig+Pn83rm9DP|ysh*KIhAc5&koVX_$ND2o1#X_Z|&aA`hj*o z-YhehuRMWzezaoxye)@;Y&B)1*EYMVw4X4ORuIw)14pYp&#MQ7t-|W3P1QB>ll$!Y zU@U>s{{TYvg1B)Rnvok?HgB)UZofk^ji47c)iu}jP})epV0zic6fWDyV$#CfHm=~R zz})s%-)ukn^0%MAeRAjV@AtO;`0n#3kM3=6-Tn2mJN#LA$Ho#)+IR-XEiBt8qhg_I z;~LJ;d+!q&RI+W~C{v)x&Kg|MG*Ie=_;`<|&d=Q*_pO`_H%2y2TOCzNj*8KwZ zQmyt;b){Z=?}KVp;Ann+pzHfH5~nzFZ4PCDglRRdEUu?8&F5k6K133S_|6uJ$5TH- z6!JeHai4|+X84@sF_58?31j03cLk*Q%;G3!`8KN@jxn5BnG}h5#SY~?foJhtKh<@{ zGPiOMkeo?9#G%6X7~?fQ l6u3{I_!o4N_7ngB literal 1455 zcmbtTT~8BH5IwgoUAim+V%HB8K}Gu^EFx%34T+SRm=tVMLgJITwAZq*-MiVnHTK=# zqR;Svi4Xn&f0S`tohsCv1qfu2wLk2fw7} zY#{^Fz>)M$vl_j=^oDc zXa*zDxt@=C7_^M~V}J$^lip)wts_AXkS-K|fF04l1T1=+eJ@5Rew=JOwy$A=EQ-e@ zrU-);1=BHBk^D@5&tTF$ht-3y`iJO4P$O3-PF15+9}+|9fHv#|4Nlp^lKN7k@$w>cU;>(Mr!c{BPU27^`>MH(#A+k#`1nDO$(=6UfFr%=WNs+$Zu0%+dKMlE#LCq?Ui4 I>;xYC1$@>v1poj5 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Customer.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Customer.class index 808dde165cdef6f201c12dadd6a06ca613ccc911..23812c016c73def66dfcd59c30d5d368cd02a3e1 100644 GIT binary patch literal 5481 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 V6ZjOnbAnT|!FT5de->x_`9DSjFt-2z literal 2239 zcma)7Yg5}s6g_Jj3lte*2(La;NJ(m-jryQTS|_AnLgK_cTD!?i`)RQ^LLjd^(wZ6n zlm3jh)7Rufe?Wg!r*|dUD2~(dFz9O6_nvdly?0mt{QK%}0C(}igo)3lFon;j@CCMJ zY4@Iqukf|rE1S5F2l{Q>z(WJyFiiMCO9Tw%nrL-xP6XKA!1;cFZj9+luWgFTZ%2BoT(#!KpLwOUWrXP4?JxTJ&)op98O zg7lU9vNzy69+NLA!fxR6R+ERS(d&qEiYwKNNfMk4(}U9bcyfkn+#ja`LG?#W59>9; z8*zBdy59|&V&ByrFZ2U$YflSHSg|mNX#+bJc2QxtN`+CO3V7#0s8hcc&g8K-iANUp z@z}r<3so#zSiquzrxu=}X5kv<8Mel{1%|W`-(|{2CugEbLy_95_d+GwG#Y-FewdH- zxxRf&H-nUgxy4Xq}n!>#hEA4oqRv5!#o1fFb$tG7XTy;usq2f}}fZrQ& zTHdVR$db-QIlrC;%~3}utTmkyd$r3ntA>sFAqpVHbAjJTaoxNLbMT#Exo3~8za zuLZtkrhiQN$Nej(#U&6G?s;{W?t24tAKZLH->BReuK&MZZk4`9CViz0c|PocXAl66v0`sLjuR}32u)F&I|{yj|k4fjxzof-;vdg UIz|KEQUSlD^(3wD(Er{40D|2~ZvX%Q diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/EmployeeTitle.class index e22cbc1c7765f2344a362595bd02f54826fa7522..20d4cd91d4c221007f179589eff2703c06a8c55c 100644 GIT binary patch delta 17 ZcmaFO`I?jC)W2Q(7#J8#HgY^>0RTqj2L%8C delta 17 ZcmaFO`I?jC)W2Q(7#JALH*!2?0RTqy2M7QF diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/CustomerCriteria.class index 75d0c5921bc4aa8604359ebb1bab1cb89b7843bc..143f22429be4df32b3c2ab25cb2bba8ea899a66e 100644 GIT binary patch delta 17 Zcmeyz@{fh%)W2Q(7#J8#Hgc3P0RTtS2C@JE delta 17 Zcmeyz@{fh%)W2Q(7#JALH*%CQ0RTth2DJbH diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/NonVIPCustomerCriterira.class index 0e5142b66a542ea84440398b8c2551a04eb7e5a0..4d37ab3490025c9383a32535e7ae88368e3a07d4 100644 GIT binary patch delta 17 ZcmX>ra8`ih)W2Q(7#J8#HgdRf002V220Z`( delta 17 ZcmX>ra8`ih)W2Q(7#JALH*&ag002VH20#D+ diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Filter/VIPCustomerCriteria.class index 0e6038d238c36f1f4ab2d120bb1448208659b752..59bb0728bd57d65d638489ea79cc96c666bb8712 100644 GIT binary patch delta 17 ZcmZ1{uug#E)W2Q(7#J8#Hgc$O002Ir1>gVx delta 17 ZcmZ1{uug#E)W2Q(7#JALH*%*n! diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Gender.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/Gender.class index 4db26b18b5aa4c2692b6ac45e4c18c04f6cd29a5..92f168fe6ed65b9e230fe3e615de3bcddcec3a37 100644 GIT binary patch delta 77 zcmcb?agBrH)W2Q(7#J8#Hgec9v2(kp=B1<-P4;6t!e}^Im^qM`RtwD2yk~r7L_nhyX?|kR_kAHT5 z1+ai}3?n!bMI2fbFXE*kyd1+k7Nliy7_Z<}xq58~XQOx>nHZMvMhwe1r{KJT6^3C~ z)EmO)ZqpVFEXOdoq?@|C%%G?8*Z6g=8QiRCCD+!?S|*nl)u!fJX6>4;RfVJ1%m#N| zVVhdk;Et2?OxkMG(M{nv+KO&xEwie-x@8J`rMQ0Bl9}CLh-9rQ;UCG9+ofiGQ`lv` zX^>R=e}(H`j^ zt~)jAt0T;6XYYh*x%x+~t6Zm6Ic2LP?CW}kf)M2U4Dpi7D<2nl!{;~N-kzn@Okpq- zQ^9KYnO?OmUafG)Ew>sXbC_S5Wqh-H6GP^IAP|d|r(qHqkyNspc12v!rF>Ms>u02r zRV1*g;s{0+WL4y_#&B})+namee766~m-}CR@z-y+@87t$zrFkSozL(8yuG*k-JhS{ zps#`pD&EA5iYYv);G&9kyrtr8%>@D-`pW-&-SLE(HqpAF0qO(jH-kult+b2P*0@w!z5hRa|Da>kwEa z_5?SHt;B(Nd?T^2*?zpiji$g1y}U-~MaK}5V@slodAfG`H=Kc1eOjQj+a zPW_0`_hbm+C|yVBF%W}-VW{*Or@J&Fbd6&I$LL?Kp1>r9lPd`k@>VqGw2$F9p7NnC zQY^V^;x59;$PNb5KVXo4p?grmcocJ#5={_Z(!*5So<1hSiB8lxiYTM9g8+k`;aHa= z>o`9Bc*o;C9jA%PHf4*1CTl!|IO91^v>$fpVR*))hvC`BW1sGceG;d9>~}p*fhpo` z=ywc+Z^=bE8NG|x4u*H2-lELHUA>#7-lY-6Tvy~NKe^N1UKXXG&mrYQob!x5%A5Bh cOnZuWK&a$?mg0LIAdE>Wp5b{45yA`q0#Ju=wEzGB delta 718 zcmaiy%Syvg5Qe{#Hc6XCt<`#o)z*4%)p{316u06|e1IaQRHTB6F8d6kFChqCso=t` zAU=lAAx@4#OIJVWhip^+*u_)tAI7~9-kRxw1 zZ8M{=)+^P@>4qXXxpPoFD;5rm)pB9?^te(jUwm9$zN@vzl#x=iQ5=_93W`{@be=gW z9iLV9OEz;Z^Q3JSTozffS$0{$ySxn@J#LxTs%A?Q{u4nV7_!I2+rW?oRxbaHx);m9 zmEF-%6BCOz@q2!uF1z35BEC2n2v2-9N5H$o>e+@7c-K{I*n!LF% z*}5>Obbt73JJ&ATXAuE5+h|F!Y0on_?8_>BbDxfI_1By)@{L{B4{?9a~ ZHAF_kHVPaft(#J0M5-b7u+$i2zX8@1HgW&} diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/VIPType.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Person/VIPType.class index 011512201c76484e496eff32c756de27a64650d8..01de71cc9cbd878a71046cd56b089b6858957743 100644 GIT binary patch delta 78 zcmcc1afgHB)W2Q(7#J8#HgY&JaqxtB282`=q)rZEI?8A`S%Nu`k$G|!vp$fV#cT&8 bZ!+hKvoJ_8Ff%YQ$N{x6F(@)9foWv`dFK%e delta 79 zcmcb^ahHSR)W2Q(7#JALH*z>Kaq>Es7MJAbrWQ>OWID=dFj<^Akdb|ICbK?}oXKnl cByTY1igPeXF|ac*F~|Y+F)=7ID1m8Z0Iuy3-v9sr 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 5ac043adaf98915fe85deddf238df7794a4160eb..48bf1e35deaca569bac263e7d62342c01a801811 100644 GIT binary patch literal 4604 zcmb_gS#uOs7(F)$naQNX5=g=pNL(OHfB{4lqCi%O1`GWGMg}lWdvb#FsUWppC9YV_Zn7~1Q@*Qd0NJ`tzKpc=!(~23%_?+Qj7M2v1 zuNX;#fkA&{d3P7sS;TV2GcKJ$hY=On-r|p8ZmKEwRYivxBsnyi5-4v`GnMI7 z%!OTGOUFsbPLoFKM$)1EXyP~Z**W#FErV0$}e>$43ET)HtSrdWt#7Blx;=UQ`{`?!rZ10Aoxd=3^@qQIxfZ}V4ew)zK=ah~FDEbG znEd+cAHUw3x^jQ|=7T?PU!3~+=H!F#em{SO|1@mImHkKj6>a zHv&(WM|09uVDD3@I5#bMUhsuCtJ$$dmLk-h?TZ4#MY=+X?(x(ARK?%^Uo;#t*wWbK z4!8FXbss3TP2}u!QFtJz$sGu?unRr8KW6hB$98C@**WVnP0KJN13V3>8X@&j0xWg~ zW={(QQfg6xy{E)%_2Igimanv{Xz6l$zMe|4Ukhv~625f>4L7@^sejNhX$#MH0!vy7 z7jnfsGjnM5*^k|tmpNj#$K#fav)K}5&{wPA4DtWC#01KgE5&!D>*MLTT?X2gUu&co;Y`{j2 zh^q=Yxzv-=r_6m~Bj7rL7x+<@(W9Mj)Vr!X2-F70Q8hyua$l@KkRMQrqCT@QPf_I> z%r79kh;3Q8Jv2*^)+@LW;le+mn!k$s(8@7`J)i49`5;|ZM+FtWmXXZj3%ry^RSr<7 zVg{hnomlG;uiAHVqxT`tuu4c5k5fOOh$@*<8qF)7G#m=mLyQrJ;V1Y;4T*0Qy%RINhF6_>@ z5be~WjL#i;Ew;L2pi<@E;u#-j5?~kebhk&H%DkUD^9U!HRmxqB6IeoD)%As2@1Z_S zmz4`~9}VSTcFzFUy2;wf=y&m3zMJ{g<8fJImLSN?Si==6!@BcSC$m&d6Ie>BWnL=s zl|72Bmu#<-?G0|%J`Y<{o^2`FdR(^Gu!nb*2P0&2Gj#&X$+lu|czw>W*2l5+lWl-( z`_+GZctVn61Jk6J`mjQC1FxZ0DkOcycvq6Q(J${o;vFLIVe%gF!Mm5dW$FNywRfjG kR;kd+QZy5>Oe!2>DjfItE|&^iPaD<}gXcqftqlAB1;85OC;$Ke literal 4062 zcmb_fjaCy!6#fQ~Kv>FOCAQTTTd|l}qZV5=R)qkH2KiOAYU{E)hJ|D&-Q94?leDi< zPt{XBrw`DF>ghL|B`gp$6qA$Lnc2DbyMJ@<%|HLX`5VCZ*hpd!H#>0@V|p0xL>?1* zHra_O+|sk#{XAJnVg~p0ayEgvB)Tx4uf1BaX=h64%OEJpydn?NaRag|%3y{DHH&=R zTK0*GHuKBgQd-i%cf9gmxWx|v zS7RQ->o;wC!tqykXg1oUvzC-9`B_a~i)WiNfeXzE8Y33C*Bs4$wj8S|5z}kH_Ecq$ zVzY;XnTUACa2WN$)>7bMlZM+*kI?J&^t8n{G;VTHRXs~iIXXdf)$a8hwJ?$_%uwuZ1oq#m( zT(c^IUYt98V%-_sTFzku*YHCEj)66-3(S82kewkda5xw5iX?%VLy5RMVpvL=;C4BfQDAR$#1H^kk7GgyvXm$|DC$50p~=Dy^!n z)W0>EfMUtFx%(2+CwJ!HBnh}W$s59m z#x#2fFYMK;8GqpEpaT zMYdVF1gZkVd)_yaP2lr)pTkME!-MRUTli&e4`)p8e0D?Vl+W=5SC7LJKq{Si4UrZv z(V~ae^b54T#F0Nj!p}Jl;t0oHjs}us(!Gu;JZ%Fv{`w34rBpj*RWE!os3efig?dd;}$h<)Z@Cu#V zq9?-x!?efgm<9Uk7U;v7$O7s2%ads!Pa85g8=39~Wod0>y7M97Q0-+MTi_d%`K4!Kb0@Dy#K_9xz=>(Of%g>>c>y3@2&ix7X| zqgF6}wi);HIB=OJyuz@#N-O7LCOZ)UbTD31xJXe2zO6$&i=c+yqK8nuaVX-o?uT}r zXg7#vr&niA<*4)YzK)Q5)xZ> zNFcT>L4rjh5yS`Z9Z+D!A0Y17K~)J&#lmy$T;I9p%$fW7*N0C4&f}_vQOu`t948c< z)DXwKic=C#tH?_%Xjs6aiZd#fR4gkn6|68MYr@~U$zYTk)V z5-IV3u;qy=XGmQajtFir#PfwshD6b=Q8rT&4!_-QR=BreRcy)_CAVtXo0cc!zMo74 zTf%2pE%9303|yz)5N3`0qVBY;AmE;37H!M-*Ta;#;kveO7TspWB|)msgY`&oE}@`rDH? z-=Dqu`SGPr&R<|)vpO!~l7h=Ru3(BPzCP_n6%_w?{dW8L3#z7g`*H6}uN%fI|9gFg zu^mZwDh*x@cBRUX{D3#0YPGmiV_5o^e*>2GFDUn=I+pWH;_^3PnY{ zAShlD74ZTyjt`FGgLS4Ijl+X8zBoQQKKaV<=A&;q{%4aksZb_iY^Qs^{m=O?=Re>7 zpY1RI{BQ$62d+!ljR_G?NGQXE5UeLD{qVOZ`Qx|{+>j9o!Oc0)nF9xMp!ckUL_Foj zfDqi3k&Ad*!Wv9S@InzW=|)5d?#|6cCDidb9~22HPPh^CU<#TC(|Csaj=PcI5}iv7 zE=hXuEKCU&Y!N9pW+XJ@WF<~v){WC#{+x*CC2Z$gdO<=vAJ0hW#EblKR>VspUS<&X zYPx3cXDDxM8e?$v7*Um>Dx~S^U@9@Gnxo2OoFv|m5mDk}imCDUtk7joX%@q}kQz<- zZ9|VuYyPNeX)!&i*tTlw{;;Cyd&q2pMus(w6QOBkM)AiLJ?0;=O-+yOaoj3qj0{!Z zVVc1mNm;g$P)&v%%X{jHE0)#kIQI{$re)~-^ z9(DHATcX{proX4a%zw@D{X{iWjo1cHTksxT^kz+v`9*VNT5xvI#n4uq-BH7cTbX#t zQbxO*LCR#OU*i<@aI&>>e#r=cmUS#k%e#<8#w&PL#yM`FtrP>t9ELHB6s5Fy#$B4( zW9U)M)(l-WyM_<>`{RaTE*0|)y~fa9l<6${!#TQUxldU?T9p1>LOV!xOEtSRI1%S% zT;Tcg-2CzS&2txSUA`vbbs2BqqKG$TyoI;<2Hwdo`0~4(Uwkd&U0js$9-q2|_eETm z@c}**@sW%x_?Y2fX|WcR%CKpin$5p6+?UiMcFI(TPV{QlRO@sy#>2TP;u9I4^0-+& zcY2lKaA{8Sb)-j3)m97ZiMahgS|hISzqiYD-#5DP9J*Nt~Oaq?*okZz5h~im0oO zCXyvq^?<5VkELCQyFz``Qi^L=*%Hhs6TwO<+_6K$qq9lMYdIl?&XQbamC5IsJDf^M zrn1qOq?2>c86x!eWs)Wg4h=e6DOaLVhTV-NnOwZZxy=G*j?7xNnxHHhDdOkq3<-VC$P2zydX_Dn!aHTLh34B(!3|Dq zvZjoa3J@wFxtHGj zG%^}1wk&{s>rC&Xr{D;yu%ED;S%3ow(whfe=q3p%m(4~H>uC>viud8oMtu6YQ} z^AHKT^H9n|IS*In;i@c5!#nP+u0c&2YslpN3wR)$hHu*ugx4jUJ+Dd2Jh4RhF>6;u?gc$lvc3RXA*(dY72%%jmK_(U4!(Bz{{Y~iCo zV;arl-j)Sy4Y+;o@6pOYGhY8Zwq;+_*iKQk1w3iA6X*y?X>^YJJPX(nsC1yjq3o-i z$IieCA0=RCU}Zknm#~TQ>Vq4#l+CrM#)E|F@DTkrU>%xJk8N~-9oRs}wvoBIjbcF>)-6W`Er-=H)48T;@nY5YcK_Xm1#3w`*LwEx0E{EZM3 z5N1^vWVIM#4H#xEIKtZLKM{WJS2AZyTD|n;V2=Q Yyt*-lV^~3PF+4_SC5_`0Q5hcp7h?$w?*IS* literal 1572 zcmb7EYflqF6g@*9Tgoa}1mA-17KD{5s1#8|5wsK%2n78!(6KDp?l!wyNq?4p03(S% zz`tZ-JhKZ?3{9{fI(P2Oz4zR6?#_>2-@XHQjHN7kG1>_W4>B0bqKJnE9%YfjsDbee zZe(F#Lhm0Nc#^@>EV?j}!DJRCOzFdCI%wL!a|15~(o?o;htmRyd|^!>IqOxGKzG@8 zRi#DQR3_k?32lfEy|7e_Wj+p%VRU$)A25Hht< zm#(ZS-WYEWW7d&D@G3%PEh|6pG_oj+84|nUn82g|ie8sC`-_8%0;$Hf=aQxA(5C^3F?G7ahrPe9Hyp2}RB4(evnyWH z-%@k7mbp_4HmWr;aUOjJW=y=qtU%YcavX1P*YlmKfmbG8V~&DFY97}_;9=WwXs?4V zH)rAv<^_uX6CW!fklBqS8Kjg)X3@ZciMM!XqKriixgv0_ZF1eZK+m56UE17HTj4R+ zN-GFeojQ3<9vsf3?ODql<&XodWSx}8v>bPHQXBe`!y0}0lRtxmtXBUyjWLu8oQSEm z$p5Cb&1_M@nhF=(Ae8PFgBv|!Ul>f=rwfM9U zelq{Qu!bAR@d4An4hTJB{O{+^;wreNhV~&oN5>cVpN^a+F48vR3%G>K+;!p#uF|7} zem>os6I_Mx z)-Vu3pO4|;8m=?Ghhsj#IKlX5WaK8f7{Ul{;Wq1xbAN|cl3BWO7x(y Date: Wed, 30 Oct 2019 17:38:12 +0800 Subject: [PATCH 5/8] revise 1 --- .../src/edu/tongji/designpattern/Main.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index f18b6bd..2258b85 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -15,6 +15,16 @@ public class Main { + //// 合并的时候这里写单元测试,加上自己的函数 + public class Debug{ + public void eyishengTest1(){ + System.out.println("hello world"); + } + } + + /* + 我定义了一些 Enum type,修改了你们的参数,但是输出时没有改 + */ public static void main(String[] args) { @@ -82,9 +92,6 @@ public static void main(String[] args) { Combo comboB=director2.construct(); - - - ////<<<< eatamath debug // ArrayList arr = new ArrayList<>(); // Manager manager = new Manager("manager"); From 62f226b9f12e98eb572da530914c9284fcccf0de Mon Sep 17 00:00:00 2001 From: linpx Date: Fri, 1 Nov 2019 19:56:06 +0800 Subject: [PATCH 6/8] 3.0 --- DesignPatternProject/DesignPatternProject.iml | 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/Facade/BeerOpener.java | 9 +++ .../Business/Facade/CockOpener.java | 9 +++ .../Business/Facade/DarkPlumJuiceOpener.java | 9 +++ .../Business/Facade/DrinkOpener.java | 7 ++ .../Business/Facade/OpenerMaker.java | 27 +++++++ .../Business/Facade/SpriteOpener.java | 9 +++ .../Business/PrototypeMementoDemo/Item.java | 36 +++++++++ .../PrototypeMementoDemo/Memento.java | 35 +++++++++ .../Business/PrototypeMementoDemo/Menu.java | 58 ++++++++++++++ .../PrototypeMementoDemo/OrderClone.java | 56 ++++++++++++++ .../ClassDesign/Order/Order.java | 48 ++++++++++++ .../ClassDesign/Person/Cashier.java | 27 ++++++- .../ClassDesign/Person/Cook.java | 19 ++++- .../ClassDesign/Person/Customer.java | 8 +- .../ClassDesign/Person/Employee.java | 18 ++++- .../ClassDesign/Person/Manager.java | 18 +++-- .../ClassDesign/Person/Waiter.java | 38 ++++++++-- 29 files changed, 725 insertions(+), 24 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/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/OpenerMaker.java create mode 100644 DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Business/Facade/SpriteOpener.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/DesignPatternProject/DesignPatternProject.iml b/DesignPatternProject/DesignPatternProject.iml index e7b98ac..c90834f 100644 --- a/DesignPatternProject/DesignPatternProject.iml +++ b/DesignPatternProject/DesignPatternProject.iml @@ -5,7 +5,7 @@ - + \ 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/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..085465d --- /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/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/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 abf9135..ebe8760 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Order/Order.java @@ -2,6 +2,8 @@ import edu.tongji.designpattern.ClassDesign.Business.Iterator.DishIterator; import edu.tongji.designpattern.ClassDesign.Business.Iterator.MyIterator; +import edu.tongji.designpattern.ClassDesign.Business.PrototypeMementoDemo.Item; +import edu.tongji.designpattern.ClassDesign.Person.Employee; import edu.tongji.designpattern.ClassDesign.Tools.Dish; import java.util.ArrayList; @@ -13,8 +15,36 @@ public class Order extends AbstractAggregate { private Date date; private OrderType type = OrderType.UNDETERMINED; private List dishes = new ArrayList<>(); + 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 String getOrderID() { return orderID; @@ -28,6 +58,24 @@ public OrderType getType(){ return type; } + 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(); + } + } + /* convert @undetermined-order into @order */ diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java index 7763d2c..3955750 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cashier.java @@ -1,14 +1,37 @@ 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(String employeeID,double temperature,AirConditionerAPI airConditionerAPI) { - super(employeeID,airConditionerAPI); + Order order; + String couponType; + RealDiscount realDiscount; + + public Cashier(double temperature,AirConditionerAPI airConditionerAPI, String couponType) { + super(airConditionerAPI); this.temperature=temperature; + + 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/Cook.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java index f99de74..443a3d4 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Cook.java @@ -1,16 +1,23 @@ 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(String employeeID,double temperature,AirConditionerAPI airConditionerAPI) { - super(employeeID,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,6 +26,12 @@ 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:订单完成!厨师等待服务员接菜"); } diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java index 203a7e3..29feecc 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Customer.java @@ -13,6 +13,7 @@ public class Customer { private String customerName; private Gender customerGender; // private int customerAge = 0; + private Integer VIPORNOT;//默认1为VIP,0为非VIP private VIPType viptype = VIPType.NONVIP; ////>>>>>>>> @@ -24,8 +25,11 @@ public class Customer { private OrderPadCommand myCommand; private Waiter servedWaiter; - public Customer(String name){ - this.customerName = name; + public Customer(String customerName, String gender,Integer VIPORNOT){ + this.customerName=customerName; +// this.gender=gender; + this.VIPORNOT=VIPORNOT; + customers=new ArrayList(); } ////>>>> diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java index 0cf72f7..1e89f6d 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Employee.java @@ -7,7 +7,7 @@ public abstract class Employee { - protected OrderAggregate order; + protected Order order; protected String employeeName; protected Gender employeeGender; protected Integer employeeAge; @@ -24,10 +24,13 @@ public abstract class Employee { protected AirConditionerAPI airConditionerAPI; - public Employee(String employeeID,AirConditionerAPI airConditionerAPI){ - this.employeeID = employeeID; + public Employee(AirConditionerAPI airConditionerAPI){ this.airConditionerAPI= airConditionerAPI; } + //ruan + public Employee() { + + } @@ -42,6 +45,15 @@ public void getMessage(String msg){ public abstract void sendMessage(); + + public Order getOrder() { + return order; + } + + public void setOrder(Order order) { + this.order = order; + } + public Boolean setChannel(InterPhoneChannel channel){this.myInterphoneChannel = channel; return true;} protected abstract void notifyChannel(BroadcastType broadcastType, String operation); public EmployeeTitle getTitle(){return this.employeeTitle;} diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java index 77c18db..b5aa470 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Manager.java @@ -6,11 +6,21 @@ public class Manager extends Employee { private double temperature; - public Manager(String employeeID,double temperature,AirConditionerAPI airConditionerAPI) { - super(employeeID,airConditionerAPI); + public Manager(double temperature,AirConditionerAPI airConditionerAPI) { + super(airConditionerAPI); this.temperature=temperature; } + //解决顾客投诉的方法 + @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 +32,6 @@ public void update() { } - @Override - public void settleComplaint() { - - } @Override public void getMessage(String msg) { diff --git a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java index 59fc85d..678c2e4 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/ClassDesign/Person/Waiter.java @@ -16,9 +16,14 @@ public class Waiter extends Employee { private Order currentOrder = null; private OrderRecordingStrategy strategy = null; + //默认构造函数:ruan + public Waiter(){ + super(); + } + - public Waiter(String employeeID,double temperature,AirConditionerAPI airConditionerAPI) { - super(employeeID,airConditionerAPI); + public Waiter(double temperature,AirConditionerAPI airConditionerAPI) { + super(airConditionerAPI); this.temperature= temperature; this.employeeTitle = EmployeeTitle.WAITER; } @@ -27,19 +32,38 @@ public void getState(Customer customer){ System.out.println("顾客现在的状态是:"); } + +// //ruan +// public Waiter(double temperature, AirConditionerAPI airConditionerAPI) { +// super(airConditionerAPI); +// this.temperature= temperature; +// } + @Override - public void changeTmp() { - System.out.println("服务员修改空调温度——"); - airConditionerAPI.changeTem(temperature); + public void setOrder(Order order) { + this.order=order; + this.order.addEmploy(this); } + + + + @Override - public void update() { + public void settleComplaint() { + System.out.println("您好,请问您有什么问题吗?"); + System.out.println("好的,我们会催促后厨尽快为您准备食物,请您稍等片刻!"); + System.out.println("非常抱歉,同时祝您就餐愉快!"); + } + @Override + public void changeTmp() { + System.out.println("服务员修改空调温度——"); + airConditionerAPI.changeTem(temperature); } @Override - public void settleComplaint() { + public void update() { } From 31e36638bf6e1f78864ecfb58a5431c70dd2d6c2 Mon Sep 17 00:00:00 2001 From: linpx Date: Fri, 1 Nov 2019 19:58:39 +0800 Subject: [PATCH 7/8] 3.0 --- .../src/edu/tongji/designpattern/Main.java | 75 +++++++++++++++++-- 1 file changed, 70 insertions(+), 5 deletions(-) diff --git a/DesignPatternProject/src/edu/tongji/designpattern/Main.java b/DesignPatternProject/src/edu/tongji/designpattern/Main.java index 2258b85..ed43b7f 100644 --- a/DesignPatternProject/src/edu/tongji/designpattern/Main.java +++ b/DesignPatternProject/src/edu/tongji/designpattern/Main.java @@ -9,9 +9,14 @@ import edu.tongji.designpattern.ClassDesign.Business.Builder.Director; 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 edu.tongji.designpattern.ClassDesign.Tools.Combo; +import java.util.ArrayList; +import java.util.List; + public class Main { @@ -52,11 +57,11 @@ public static void main(String[] args) { //test for BridgePattern //注册不同的职工来调用同一个接口API的不同实体类 - Employee waiter1 = new Waiter("waiter1",24,new FloorAirConditioner()); - Employee manager = new Manager("waiter2",25,new HangingAirConditioner()); - - waiter1.changeTmp(); - manager.changeTmp(); +// Employee waiter1 = new Waiter("waiter1",24,new FloorAirConditioner()); +// Employee manager = new Manager("waiter2",25,new HangingAirConditioner()); +// +// waiter1.changeTmp(); +// manager.changeTmp(); //test for CompositePattern @@ -107,7 +112,67 @@ public static void main(String[] args) { // System.out.println(res); + //打折的测试 + //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 09184c85f16ee74f1b22695ccace9a4def36cb2f Mon Sep 17 00:00:00 2001 From: Eyisheng Date: Fri, 1 Nov 2019 20:06:10 +0800 Subject: [PATCH 8/8] group commit --- DesignPatternProject/DesignPatternProject.iml | 2 +- .../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 .../AdaptorDemo/DiscountAdapter.class | Bin 0 -> 1303 bytes .../Business/AdaptorDemo/RealDiscount.class | Bin 0 -> 891 bytes .../ChainofResponsibilityDemo/Complaint.class | Bin 0 -> 2171 bytes .../DecoratorDemo/CashierDecorator.class | Bin 0 -> 753 bytes .../DecoratorDemo/VIPCashierDecorator.class | Bin 0 -> 1599 bytes .../Business/Facade/BeerOpener.class | Bin 0 -> 718 bytes .../Business/Facade/CockOpener.class | Bin 0 -> 712 bytes .../Business/Facade/DarkPlumJuiceOpener.class | Bin 0 -> 751 bytes .../Business/Facade/DrinkOpener.class | Bin 0 -> 177 bytes .../Business/Facade/OpenerMaker.class | Bin 0 -> 1361 bytes .../Business/Facade/SpriteOpener.class | Bin 0 -> 720 bytes .../Business/PrototypeMementoDemo/Item.class | Bin 0 -> 890 bytes .../PrototypeMementoDemo/Memento.class | Bin 0 -> 1393 bytes .../Business/PrototypeMementoDemo/Menu.class | Bin 0 -> 3745 bytes .../PrototypeMementoDemo/OrderClone.class | Bin 0 -> 1862 bytes .../ClassDesign/Order/Order.class | Bin 2714 -> 4748 bytes .../ClassDesign/Person/Cashier.class | Bin 1765 -> 3077 bytes .../ClassDesign/Person/Cook.class | Bin 2034 -> 2636 bytes .../ClassDesign/Person/Customer.class | Bin 5481 -> 5626 bytes .../ClassDesign/Person/Employee.class | Bin 2167 -> 2466 bytes .../ClassDesign/Person/Manager.class | Bin 2404 -> 2717 bytes .../ClassDesign/Person/Waiter.class | Bin 4604 -> 5084 bytes .../edu/tongji/designpattern/Main$Debug.class | Bin 0 -> 719 bytes .../edu/tongji/designpattern/Main.class | Bin 3550 -> 2924 bytes 31 files changed, 1 insertion(+), 1 deletion(-) 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/ChainofResponsibilityDemo/Complaint.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/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/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/Main$Debug.class diff --git a/DesignPatternProject/DesignPatternProject.iml b/DesignPatternProject/DesignPatternProject.iml index c90834f..e7b98ac 100644 --- a/DesignPatternProject/DesignPatternProject.iml +++ b/DesignPatternProject/DesignPatternProject.iml @@ -5,7 +5,7 @@ - + \ No newline at end of file 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|(>(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^#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..855508b8e199d05a85e39fcd28cf9128bf732d2f GIT binary patch literal 1599 zcma)6ZBr9h6n<_3Y=}#gAWEyXzEnu!%a&GKDXA?lwPgkn2M0&LEt}i8blFXJH+}gg z9qV*DYMH4sTFc1TsVyIDQN|KV82H}bkqzl5{(;kTH<=W$oyjC~bMLw5Jm)zl&$)j+ zUtR@p3Iky@BPN!37`u>Y#4#KX;Y1iGp@i_dgic|4Ba9H<6w9d)PKR+6Z-wx72xla8 zNqC2$A*q|XdzRr$Y>=n2iffta30+BXM^Bp>)pfaTDt(6PIQ_m!8R52Lkx6x~>fG** zk1^EsSt-u2b5J+=aCUN>+ZWYwgDlZOOH++8)z-ziVytto>JGz&+S2uA9YS>+rJrk- zt-6-o&nGQqY+$6qpla`C*p(_f@l@rK;dE_jwpGQ@1p)&CHe7?iH4974OXx#`>MP;y1aCm79OhTr2%DRajakH}BgA>(e*rwy^ZQ z_w<2x>!CM&cVlH%!h15_M-KxSn*EwK)0WYTK9Rp)#s@e@ExODd86V;!hD*ikv!y3L z2@dzK7uFsY@_9;HrR3!n*7M&HrQ*zEZ}~3yQ1;TZKfK>p3(Ggivygw}P2Vof=e(cq z)3voxJHGS#0e3H6q3E8xkWusfl2not1S#foeRMO&OY&A1T8R2A*C|hGMicySgKo^%) z&;cRNDrj3Jh+sEg_@i#}FNn_WSo}p?8Ug-kRyAn2x1>EkKEXA&JAMU+=%s3==L-mu zq)556?xxdO1n2`aB#!04p3*LWR$9ZpwHfu~yNAwu%3j!uHad|%Uc$?S!NdSmu!iYZ zU`2w-L=J&uViCbh`yP{}j2T58?FG_aNE9yO>}>H0BThpk(Lss^VFjL}lSw!# NAtVv|cEA3Pe*njU)rkNA 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&b3{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/PrototypeMementoDemo/Item.class b/out/production/DesignPatternProject/edu/tongji/designpattern/ClassDesign/Business/PrototypeMementoDemo/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..e30d6534124447adfe70b4ca2a5a7ac9bc8ce510 GIT binary patch literal 890 zcmb_aO>fgc6r6Qpy9q8Sr3n=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..d9b1294b7dced49280bea48498b4e3ac77b2ae4e GIT binary patch literal 3745 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 OSfqtSqZ{09!TlewJg{H@ literal 0 HcmV?d00001 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 2ccc8cb56666fee7ddf1c9fee81c20b539a9f003..83a6e4879b0184ea710298d1f3b764c0bae5d903 100644 GIT binary patch literal 4748 zcmb_fS##4?6#f(^wxcKsB#^R{mZd=A00PP$nl{7%0!c_ofC7b9v4wGPtRO3tbl>T| zP9ORQ$_q1Hrod2UI(_a>=s)ORU^=DWkz`vIW=3TCa&@J9&v(xG&T_B*{P(xt0qnrH zDpuk`Gjh1tj1|ZyFs-6dzO29{845DY$WWBQl3`Yc%PI%E1tmB#%(dVIuE_980#{XZ zU|vvPP2e>ZOYyqwc_V>0RV>3>3A~-aI|>q(oi**@w1SS2Y2%8a7mQ*~pK$DaG1sS{ zF>5%cf<@lioRcr;X?~FvXMUC|yGG3HobFh~+;m>gnx%ZMIBPhLX&3duf>A1^-B0>4 z(c+Dhl%sq+n=f57OSRY|`I5u6<_W?W&YVpJg8|jDyg!=4Ny{pf^fYz!^%F6fcgz_P zS8#S=fCuJE`J!1W>EpKLSmOMsIb#+bD{anL`Y_>LMVdJ?Td?L$(^GbMVamo$yJQvh zAs@>{Zko0884{u}R;nAd3C9gir>DaW+;Gt`bEYl)?#~zVPQQX!ch5UOr>fXn=Dm6GBM{ZwR&*S(Z+rU=NoU z*kfADcKDUDw5%yqE3Kr*wb$R*5X(q1v?`8 z66mVpMl37B+oJIhkY$G0?3!0hPy5m!-Tu+jbH+a+B!!wKSN!8*s2oE#TcnyJRz^U- zoCs|h+hqE&Ds02CYy|=wDbFfpP?pt4=gU(9U;RID7Ut9CXbyP&dSI&L*ha<~$mMJ^ zM=BPkQ=PEp?2LIZFNcZhLT{0agoZ896L?R<`&gr4HP$c<-5Z7*xB=TX<|TR>)?%H8 z4Kj4gkV3D9$FWMo6L?a?CT!MlT%bPC@FA{g_y`|s_ynJ7_za&jcOwNYR7M)UfUe<7 zu}Y5wP)#2VUtvhY*SN;pNhH|^Ge)wxoHN4IHwv~!g7RYLjtcfag2)5mW+SPFqijo5 zIs;~SU0ORamL8fMIzBo)HpGf;t3rDRZj8M~K~1F}o0>K=PM=h|T+jS6?5e5nvR$mJ z#6_btW?tnDj@JsxG#1^L+T+E?Wbc@p^{%dJ(5!MJk){&&T96d}qm+&7dEbL)Io9wp zzLGckBpM`rIcty%cAw0C_sLX;f~Va1dag6;EAJcm&H|{s_wb#y;O=D+@Y%^V78S>> ze49m#Ghln_Hk8yaXt;@3>Mj~j-$v6-#H-Upb(&1I-9+=xF6K6lD-h?{%HNGeXu)E1 z@uy)8^=!ftZ0CyRX~5I`PXXsUvCG%4(>l@Kl=>CTKXTFl0gSsJR|JHcD#E+5#~1FW z=`q=z+E`^&-#{(^C|YnQ@uBl6p~{uC!SX+de!?7ue`87M+uMcI1{0V*q*5a zoE@mIB@x!LgIk=lg?H5zK8)cy z!m+UMzPiFkaI}uF78dTWD?EZxU-+OOKULzVv8q~yT`!&5+#&FEXO#7G`%Ou%*2W<^FRYmnO;}A>lZ~#%OAZi%L^F(Tp1JFmj!l%^EdO^H{ zb_FBEU8LZ9Ea7CafnjRgjao`C1(ot6U2vcjcqH-12Ca6e~cfGHC zlJgcc`~x+C6Zf#3T2EGN*u||v8GhnKV8(JFCrCz*-6%#3dGnOVn)%goZT-p#kr^#j^u)8;#P ztN}N!-~TIigMwbUb}`7n6q(A9jV#OI0@dbRGgfoYD)vWFEF`6EJN=k!Oi~w#X@By literal 2714 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 KduV0D-hTlZU`&nx literal 1765 zcmbtUTTc@~6#k|yEQKwXA|Q$iUa+*vs(`l|4YnFd(9}S9^I>Smc1XM1>`qO1Gw~M~ zdGHsQ@M6>`3J?13&oF}eCyZyd4Y!ie#$+#N&dfRAxqN57|K0csU=qo8gfSXM8_tIj z!&n>Q?MUE))?DnsI4lE~3|waDP@+^8E>{&-Ft9X3>n&+Zb(=xPW|#OgZWXzmx8{^9 z?R+vlD{>V}Id*3D>q#MeccNUuE5`c+wW0XH82t<=8o?q+<(rIx|zR zNscWrgi=n9@VjQo>`|q(DBO9zSR_q!*2(hX0(Yfe*OVbukRHQSW5HyE>p2u3_X<+D zNrrYxx#%nlF+=G_>yu>Y;rruem}?BJsni+5*#ebU%$Ldx!I&;ZYo(myN*BWuN)<)Q zp=i0Z6$PFb>LHbt=V`m|fc9wnV9CoZ#Ok6S1jt&D8 zCh>lXVPtD%?a!;V&6lr#etWyMvi@szoEX5!o#107u`mL6Nc2whcSy37~?y1^tFB%6rPx06;+ z5JU_8Bk{yw=rdS6_6dRaqzIskzMZrUGBn6k)1;eLafIj_K@Xzz*HSNzkUK4Dh=4B< zDd-%-0FKt69*{46s{aFm(a;)N;vdmUZ(top5c@H^DexYmR@BEdtClrPhQV#G3G%4D zvK<1a_SlTk3`rV)5xGCTK2ae}%LXrxd2{YNdH|O5_Jm);;oV$Pi zyZ#WsAQUfJFj$Lb91+8dUc7{(!gj0{Ll~~Xh!@8(D%M`E!z&mQ8^*l|AzXur8l0%b zt2ilP(u*d%CgF7n5r#U8r!(A8tgOKqSeT)DMAcMll;NU39N~#<(9*T!Sv8p8rkd0; zie+&_3x-mPX@(tBa6D_O8aK`0m}-P{EumVfu5n{5I=R&{Tp8qyk>Ezq8Hc;)7(5|8 zLH;#Hh-f;Sp6AA_GM^$#b3~6TsX4_^#s7lQV=bsA!{N%fqTDcbib&Vb4KwUg{vQNG ztTLb->A+B>iy$j@vs@Aew_nIo8(&bgB%e)ZC~w(JLa|7a`k1A}&rKFG>LQ8kOfo8;CMB}_@u_Evx7tn!HxOc7ErW*MrMbR>7D&7{zG%OVwx$+bigpkC80 z^`pfQxuWqDL)2fHTm{|74P8mZ71Nqs%<$o@bRtehes+{CO=nZ7s7|qPW8%{|&xnGf z+||#QV=+`%Y}-0Q;_6Og5Hu+k)3ZjLpHM~3)rwN-6S~OoVM@ksw943z4hhpTW)KzT zP6?-Eynz_QKKsfq_PwRQ|5(XgyZ`9c`o`*KxqG+l^_zd4zeYa^vohX9myEsGCt*&; zTXX}lxhT^aA;eTK2P=(i3*Jk*iq)`Fhs$me?~cjagM>i722YVNz$jg_D5%isR< z;6k3!esJDi{?fj1edFp4hVYXy^5^W8uX0OY7f(O>^`iaoi`hO!iNm~72P0ZEyysqlOq#U)cPW)tjtwdc01})QGAt!P}ZJQAxa{V z_l)6Kg?<$@*bK<&!KRYNu|<=vYHEBvOC8*rZw6HlMyX*fYFnR{< zqB=fRk+wULsB{Sl?>zpnkgT3A7)KDgio})F>hCV=-bw1)BsaumTZ*q>WT+um=af{I zj?pDINdi{n^L9{T6CeEMxV1$rm-GgG|-o}kszAz6s-l| z5g>RP&(K@U1Q~N?)cHgrY;=v#K0)7EpdX;O*i{v{i>eZpmncDgdk99r%lSNjthGz`ZjW`y$sb?M18i1st~_G?G!4kp>7TG zbu^9AnD z30#Ei>$#1_n{Y3qVVY#=UBfO%7!i;}h0;_IC|^ED$#$Hq!>GduWn$D}5#>`y)?V~E kdD_g0D7ql}iBZg6Am?2qtEgeOG%lgZODl)zzY7EZ0m$99Pyhe` delta 911 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 gu3tuH_l*jouCg@1I9;r^jY}> zzrfl`8%=!k#UJuX<2q+1NYN1XI{UEK+H3CD`=HrwbumRJi2e5-zL4D=J)du#9W!blt`c8zq6@i~19{E|70M4otjz6Ip-1 zEdu2fv+pq@l`ac}SD#j&*W8u0m#uh7xh?6sR%a~q9n%}q$$MbSoC;vRAm z0~nNuW1o%t5*0j<*o(1^QgBo>`?(At#Bo`~lZhb=Yutqqjk~c&Bl~G2l_->+&gqNT z$D0I_j0c!4A;1sdWVRqO+0O{9GYjA#V-yDC7(2xgZc^kB(-E&6hcUs7L^UqOl<1@{ zTF^NVRHA?N98DdkUQ$a*ma)i_G6hl;05R=jMj>mm$U!u<-3l!!yU9;5zQU|*vBxH? zHtfL=Lzdq*!fiOcU9+^8>lz^086b%x+?QbAqkg|B9PI|~kMC2nIdz-Pe^ZdV4 z@cuaRK6`=H%B-dK8tHX3%gIl4IkGyAEd9c2r3L;Aymwk?`eKd}ljb)1dhN`0i8&oH x2Qz#*VVam_JGIV}nDa%u#zVAMuDEl$W&Pd)r%?P4+v;V{?_~SrdA-5Ye*phDWEB7a delta 795 zcmZva+fEZv6o$V&hfZf4OKFkf0ckxz4`4wN#VUg510F#lSERv7!ALcQaNGC--t+-X zd;(D^L=zvt$M7XIUKrP&Hq{U>X8n7uto8r@+I!w5f5e}D`~CSVFwPT?E+$=KT+pH9 za*<08Qyw;xI$Vx2t#QWV3RiW{HIM7u(5IUYw;XOO?3cA?K}}I=yf(+&nM$P=RLUE{ z)|*|`vyz>CUfwJhUzDqr;@n1UwOY|_gN>^3HtsI3NI95ad!;b5xrIi*x$yC)xup6A z81m^O>C?|qhdVxZnN_43OOaH`=N|VJ-RWAe9IS2z>9t^ey<7>>J`b31c(%t*F~fhpLP-$CUI+Zg%bZOknx86183bN8c17$b7*1g1xvyB>xGciIa#*D9G2uZQ|AcTJpk) ztT@PpPI_Am9VZ!vwG+`DY3rS$*w&kpUajZpUH4hL`0piatr`j4kNm^wbvV5`qjCYt zvKZrZxWpOx9b1>E$@Sv4Sl_>wuNdJb!J#m zWI{4Fny?AQB1+8Ij4dKcMQjzZO~iIByTgK=*rn~tMC>+U5B8d|59Ma;#{mHc1yuMd zR`REF%KbOEY+rw$|2(^zx9FD3?QU@GyMC>y!CBwvX5e#jYZ*)zt~eVnyQ;4>F(ln? zy6AMf{J&U1ina2p^NzEyfs%!%+&AkRFK-{s;L?~U6^A6GV2Oak5{{sfVW)cky)y9S zXXL5c=2N?d)SiG6>Wp@`M8h3XZ!5*8hk`SmgH)#Ww9DaUd9sa;Gq1W7Z)cf+qY{oG zi{TQrE5Q-!l0&W2?_QIYLr>HP4`Wc%Q;!JB6MZ?T4EAX>Z9X|1pqvsMkiYaqpLZxz zh6sww6V1wCw;btK-VP|wTL?~R9i`$Q&G#9c@rt$LNVhx@q97HJdNuG;`7}K9#;bOC z<*zUHM2Ew2q)UC!uRIG@lLn>deKhQ!9(${Hj#F!_YV-P1^>J6MPA759^!6ze6YAq( z^<%r%<$X%^(Scr#JO1BM}y|5|+^^LyuXIj^%WsMje*vJJL*9hE-T? zz}LaU(H6)Y0dGwhN22DF3@;d7BtOq;BRt6^z3Y>MzR*`$TDRApFBTK^(+K~9XSSh4gIO6I^8kmf%FZDe1M)p za#$CPVBt6xjbm|u(tO-67ec@Wm{1f4oo?JKSFdFzLUka|;3(6B|9F|LIzntt7_w#u Vg&`jWx+;eCbX9FG3JHV5hChbmJ{$l5 delta 970 zcmaiyT~8B16o%i~?RL7`DbN*)tthPuv|FTNse&M=R0XY{pm$z0uz?!3Hnj!4vA;q0 z+Qc8gji5DpVd9mEUic^c9mX@;@)02+o0&QD@xITTGyAURkJob$0LCS3@~Kf@5-<{ z!niB631v0uzU1TEj`mh*gs6A`gCeOE1t<=~r2ZJqoT}XhA_Y z^&PYg7~lv((APsV3qI;Yh@h87868KI>|`VniWgBLbdI6Xhm&pA9GS^uku9jEuL;fi z2tPID3%H8^puDq6}ml;PB_YnmLTE88>hdkejuu+dVoU1k5#%D#QbJz*RP z@|8u)QIlC7Kqfq4q_x>1Hsm>+_A111=4klfq42X9Xu}_SWd&kXxxf!->ZS}VQ{RHo zM6e05Nl10)`Cii`Mek=pM|z)itX+^n?=aKJbqL8eW5!!NB*Cob5cmFyoyy4kQsnPF P0x_bLKEp6sC^+{In%im( 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 48bf1e35deaca569bac263e7d62342c01a801811..d6c42892c96c45c53b59f19c0797dcc8aee05a0c 100644 GIT binary patch literal 5084 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 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main$Debug.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main$Debug.class new file mode 100644 index 0000000000000000000000000000000000000000..c21c4a2a0d0a47f36d428a009721731dc8f52a68 GIT binary patch literal 719 zcmah{T}vB56g{)Xth=r?joMnR^()p?p=+Vg2gMglp^$z+#P>;Z*-Y5X%I>VipQWHe zANm9Oqoj8x0TD`kxik09Ip>}`+`sp~{{Z-iW`HVQhVZc*;1yP8uo~hu)_kn{*bu0i zzA73A0_!d6m9fcmGEi}k3YF+{X$<8${w9?^WayF7${Y)9HJ`w~I}@m!WIYm?Zz)aR z%VCG|Q`t$mQg3BlnV!j9*?e5ASQ`Sm+PvW!|MP%61RzFz*NQLPnTD5Fx~(kIe{M*cO=WQ<`QQzp^~-`DjGg z!CN1@0^1WmXJkO2W_9CK>LmWr8Bo_eDzz^QLqm3zmHe>Oa$uFkKXau`+vFsNJj23& z$^!nm1*MvK%@NUcVV2U#p`CJVqC;%*8u+{sqE@qW^UVW)4Q4q;oE>xS@fq&z-$3l$ z!Mk#pIgVAv0LysB@x=&*dDJ;$yi*g5Sis^~>yy(4f@@6GE4P?_kP01rg-NSUE^^Yr VSkA)|OM2Yoxs&Fd!yD8f{sEcOq5=Q_ literal 0 HcmV?d00001 diff --git a/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class b/out/production/DesignPatternProject/edu/tongji/designpattern/Main.class index 185775dea966ccedc1365525fdd93faab1b90dd7..6945e138425e43e5db32b7e88fe5e4462a7af39c 100644 GIT binary patch delta 1002 zcmYk5OKeP07{`BSIy2|qJC{a1Zz)BmOttlXjW_k~cq`*kifOedI^+Eqr5+2LW=O<_ zM6i%ZOp{I+k=Tiiu(YsiL}FoQUK9g-Q%f{}inzY3xo6T&o*~&JORJ_$b3}7g5vWTXIMt$X*S5DOI#wKQ z@+XstWcROcJu`ieRIrw*idmV?qHyNET^x5gM!U;#!`gkXANF0p_4UpJ%?X#2bZC+; zDNec6a(bZQaZlf)XD(;xa5-yA=Qyvq;Bt{mn#(R}t|-T=CUsdCfTsaQYIHzZRRd=jdq%jG&Z6lKDDnZepq6Ah}2HMO=^4D3uN6RB;j#}W$v zY zfe2LB^x}DbFCZaHX>~87C3t>`dB(&`%5sd22EE`*#wnyyQr^q>fi%yAbUeqzsLoR% zARM*wRK`7>V^Y*EK+8bKvwN8w4S9|U?!OIRrCc@=!4j8>nZi)2DW!(7;#F8&ipYki zFjiJ(D63d4Y#SMn;7@l$OAUV-b$Z@wIW6g@TGiuZu;3{Gys{ zX0gD4h{a^OrE-KHW%gw(M~hgP6@o00ETv9nwneyD=3XhU@~7~tW%Q5?p;#-(6`6G+ R?_<4qU|y~gPa@)p`U{l;yaxaP delta 1373 zcmZXUdu&s66vscmuD!Rty|B=Y&ATz!U==nx_GFAsbaOCx;uhQVch2v7Uf*-h z?ft#v*Yeu$|M}`B(85)N?F{N1HE=PgbyNx}ALsUva|}(@)}?hG_Oe^+Xv-UQ9x*6k z&>%om=TR@mw2tkIw&MmBj?E%!5aTf~!#++B_whJSI4MWGj50^FaovMs|telZI8aX>(t5dGUCG4p_;@^-h^0CQ_SAQeB$KJ-ut}I#6wQly ziu>{mgiD@klj6`~%JlMBCuL7GF&s|}FE{9%H@V>O^UZ&Kb^hFiTbHirylV0qlRB@P zyuq7J;kOnXuFcMW@`cIUOqxtNri<7*mrUN_U7hz#rg>k{6SD&a)wZ-|hg^QU$sH^W zb6MvDlMkI*s?u@1tk}E2ca{CA`!j!-k4!%1ilRbr%T9PK`?_b1irY7|BDFKW2Jh;c zcrHhM`E{>g$Im8Z*jxDTY_O|Cw*U>h4c%6?6CEd2md6(SkMJkb= z+6?MO&b&iTEe95Ix9DcxfqUqXn~zTJ6-0tv6X+CzYO#0tdeebOps1MQEG3Z)r5Wz% z%VI?WWyO?dsSs>!hIRd+IV$Vqm&FwcRL!t{h7B32!|ogqoZ-#|z_Y|-qvN41@yG$X z<+eO?Y_c>`Y(F;n_i{SrwZv;W$aTy22?u4e$_1R3TJ22`MpTkPPutiNP@d%YeW3RZb{&h z(%-U2v;ryoxe)5cE#;@#E1E}0oTpbbO{h%JCz>t<`sin$WYgHf0Q>O?fgtybW~j0T j>HGi(@e7+m4vA(;SuckcBCAH