Compare commits
No commits in common. "4782334a63e26cd753ee3c357be209dae4b79cee" and "99b9b86bfafc2d5ae8b20af3a03d2da25a18e67d" have entirely different histories.
4782334a63
...
99b9b86bfa
Binary file not shown.
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
1805
README/设计模式-v2.md
1805
README/设计模式-v2.md
File diff suppressed because it is too large
Load Diff
|
@ -1,51 +0,0 @@
|
||||||
package cn.bunny.pattern10;
|
|
||||||
|
|
||||||
public class Facade {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
DeviceFacade deviceFacade = new DeviceFacade();
|
|
||||||
// 查看
|
|
||||||
deviceFacade.on();
|
|
||||||
|
|
||||||
// 看完关闭
|
|
||||||
deviceFacade.off();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 子系统-手机
|
|
||||||
static class SubSystemIPhone {
|
|
||||||
public void on() {
|
|
||||||
System.out.println("打开手机。。。");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void off() {
|
|
||||||
System.out.println("关闭手机。。。");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 子系统-天气
|
|
||||||
static class SubSystemWeather {
|
|
||||||
public void on() {
|
|
||||||
System.out.println("打开天气。。。");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void off() {
|
|
||||||
System.out.println("关闭天气。。。");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 门面
|
|
||||||
static class DeviceFacade {
|
|
||||||
// 也可以作为参数传递,如果没有别的实现类,直接在内部初始化会使使用者更简单
|
|
||||||
SubSystemIPhone subSystemIPhone = new SubSystemIPhone();
|
|
||||||
SubSystemWeather subSystemWeather = new SubSystemWeather();
|
|
||||||
|
|
||||||
public void on() {
|
|
||||||
subSystemIPhone.on();
|
|
||||||
subSystemWeather.on();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void off() {
|
|
||||||
subSystemWeather.off();
|
|
||||||
subSystemIPhone.off();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,65 +0,0 @@
|
||||||
package cn.bunny.pattern11;
|
|
||||||
|
|
||||||
public class PaymentProcess {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
ConcretePaymentProcess concretePaymentProcess = new ConcretePaymentProcess();
|
|
||||||
concretePaymentProcess.startProcess();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 抽象模板方法
|
|
||||||
static abstract class AbstractPaymentProcess {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 开始流程
|
|
||||||
*/
|
|
||||||
public void startProcess() {
|
|
||||||
authenticationUser();
|
|
||||||
checkBalance();
|
|
||||||
executePayment();
|
|
||||||
returnPayment();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证用户身份
|
|
||||||
*/
|
|
||||||
private void authenticationUser() {
|
|
||||||
System.out.println("验证用户身份。。。");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 检查余额
|
|
||||||
*/
|
|
||||||
public abstract void checkBalance();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 执行支付
|
|
||||||
*/
|
|
||||||
private void executePayment() {
|
|
||||||
System.out.println("执行支付。。。");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回支付结果
|
|
||||||
*/
|
|
||||||
public abstract void returnPayment();
|
|
||||||
}
|
|
||||||
|
|
||||||
static class ConcretePaymentProcess extends AbstractPaymentProcess {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 检查余额
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void checkBalance() {
|
|
||||||
System.out.println("检查完成,我的余额还有:1999亿元");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回支付结果
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void returnPayment() {
|
|
||||||
System.out.println("支付成功,我的余额还有:1994亿元");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue