Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
cf86eab
Merge pull request #3 from DesignPatternCourseProjectTeam/develop
ruanbyao Oct 27, 2019
35b551d
Delete BeerOpener.java
ruanbyao Oct 27, 2019
6d1ee11
Delete Cook.java
ruanbyao Oct 27, 2019
aad3214
Delete DrinkOpener.java
ruanbyao Oct 27, 2019
844bfd5
Delete Employee.java
ruanbyao Oct 27, 2019
4bd19c4
Delete Item.java
ruanbyao Oct 27, 2019
f5b086b
Delete Menu.java
ruanbyao Oct 27, 2019
846d66a
changed
blacklancer Oct 27, 2019
7ab0a13
Delete OpenerMaker.java
ruanbyao Oct 27, 2019
6b67ad1
Delete Order.java
ruanbyao Oct 27, 2019
694690b
Delete RedWineOpener.java
ruanbyao Oct 27, 2019
15a998a
Delete Waiter.java
ruanbyao Oct 27, 2019
a12f4e0
朱继涛 提交
blacklancer Oct 27, 2019
59c59f2
Merge pull request #6 from DesignPatternCourseProjectTeam/develop
ruanbyao Oct 28, 2019
187f12a
Merge pull request #1 from DesignPatternCourseProjectTeam/master
ruanbyao Oct 28, 2019
be198e6
Merge pull request #5 from blacklancer/master
ruanbyao Oct 28, 2019
7b3e691
朱继涛 提交
blacklancer Oct 28, 2019
b5666fc
Merge pull request #8 from blacklancer/master
blacklancer Oct 28, 2019
e18aff4
Merge pull request #2 from DesignPatternCourseProjectTeam/master
ruanbyao Oct 28, 2019
e092ccc
ruanbany
ruanbyao Oct 28, 2019
77ee3db
ruanbany
ruanbyao Oct 28, 2019
e60225b
22:42
ruanbyao Oct 28, 2019
846f159
22:54
ruanbyao Oct 28, 2019
7f6bdbb
23:36
ruanbyao Oct 28, 2019
ce0bb9f
delete
ruanbyao Oct 28, 2019
9d0459b
23:54
ruanbyao Oct 28, 2019
17414fd
Merge remote-tracking branch 'origin/master'
ruanbyao Oct 28, 2019
ae6f46c
23:56
ruanbyao Oct 28, 2019
b342b47
19:15
ruanbyao Oct 30, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion DesignPatternProject/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions DesignPatternProject/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion DesignPatternProject/.idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -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();

}
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package edu.tongji.designpattern.ClassDesign.Business.AdaptorDemo;/*
* created by zhujitao
* 2019/10/22
* 优惠卷适配器的接口
* */

public interface Discount {

public double getDiscount();

}
Original file line number Diff line number Diff line change
@@ -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();
}

}
Original file line number Diff line number Diff line change
@@ -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();
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}

}
Original file line number Diff line number Diff line change
@@ -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;
}

}
Original file line number Diff line number Diff line change
@@ -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:服务员为您打开了百威啤酒!");
}
}
Original file line number Diff line number Diff line change
@@ -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:服务员为您打开了可乐!");
}
}
Original file line number Diff line number Diff line change
@@ -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:服务员为您打开了酸梅汁!");
}
}
Loading