public class SubSystemA {
public void subSystem() {
System.out.println("subSystem A");
}
}
public class SubSystemB {
public void subSystem() {
System.out.println("subSystem B");
}
}
创建外观角色
public class Facade {
private SubSystemA a = new SubSystemA();
private SubSystemB b = new SubSystemB();
/**
* 提供对外接口
*/
public void subSystemA() {
this.a.subSystem();
}
/**
* 提供对外接口
*/
public void subSystemB() {
this.b.subSystem();
}
}
客户端调用
public static void main(String[] args) {
Facade facade = new Facade();
facade.subSystemA();
facade.subSystemB();
}
public class StockSys {
/**
* 库存校验
*/
public Boolean verify(){
if (Math.random()*10 >5) {
System.out.println("StockSys verify success");
return true;
}
System.out.println("StockSys verify fail");
return false;
}
}
支付系统
public class PaySys {
/**
* 支付
*/
public Boolean pay() {
if (Math.random()*10 >2) {
System.out.println("PaySys pay success");
return true;
}
System.out.println("PaySys pay fail");
return false;
}
}
物流系统
public class LogisticsSys {
/**
* 发货
*/
public void ship() {
System.out.println("logistics ship");
}
}
入口系统
public class MySys {
StockSys stockSys = new StockSys();
PaySys paySys = new PaySys();
LogisticsSys logisticsSys = new LogisticsSys();
public void order() {
if (stockSys.verify()) {
if (paySys.pay()) {
logisticsSys.ship();
}
}
}
}
public static void main(String[] args) {
new MySys().order();
}
public class SubSystemA {
public void subSystem() {
System.out.println("subSystem A");
}
}
public class SubSystemB {
public void subSystem() {
System.out.println("subSystem B");
}
}
创建外观角色
public class Facade {
private SubSystemA a = new SubSystemA();
private SubSystemB b = new SubSystemB();
/**
* 提供对外接口
*/
public void subSystemA() {
this.a.subSystem();
}
/**
* 提供对外接口
*/
public void subSystemB() {
this.b.subSystem();
}
}
客户端调用
public static void main(String[] args) {
Facade facade = new Facade();
facade.subSystemA();
facade.subSystemB();
}
public class StockSys {
/**
* 库存校验
*/
public Boolean verify(){
if (Math.random()*10 >5) {
System.out.println("StockSys verify success");
return true;
}
System.out.println("StockSys verify fail");
return false;
}
}
支付系统
public class PaySys {
/**
* 支付
*/
public Boolean pay() {
if (Math.random()*10 >2) {
System.out.println("PaySys pay success");
return true;
}
System.out.println("PaySys pay fail");
return false;
}
}
物流系统
public class LogisticsSys {
/**
* 发货
*/
public void ship() {
System.out.println("logistics ship");
}
}
入口系统
public class MySys {
StockSys stockSys = new StockSys();
PaySys paySys = new PaySys();
LogisticsSys logisticsSys = new LogisticsSys();
public void order() {
if (stockSys.verify()) {
if (paySys.pay()) {
logisticsSys.ship();
}
}
}
}
public static void main(String[] args) {
new MySys().order();
}