使用场景:外观模式(门面模式),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式完美地体现了依赖倒转原则和迪米特法则的思想。
你可以为新系统开发一个外观Facade类,来提供设计粗糙或高度复杂的遗留代码的比较清晰简单的接口,让新系统与Facade对象交互,Facade与遗留代码交互所有复杂的工作。
package com.hj.designPattern.facade;
public class Gupiao {
public void buy() {
System.out.println("买入股票");
}
public void sold() {
System.out.println("卖出股票");
}
}
package com.hj.designPattern.facade;
public class Guozhai {
public void buy() {
System.out.println("买入国债");
}
public void sold() {
System.out.println("卖出国债");
}
}
package com.hj.designPattern.facade;
public class Fangzi {
public void buy() {
System.out.println("买入房子");
}
public void sold() {
System.out.println("卖出房子");
}
}
package com.hj.designPattern.facade;
import lombok.Data;
@Data
public class Facade {
private Gupiao gupiao;
private Guozhai guozhai;
private Fangzi fangzi;
Facade() {
gupiao = new Gupiao();
guozhai = new Guozhai();
fangzi = new Fangzi();
}
public void buy() {
gupiao.buy();
guozhai.buy();
fangzi.buy();
}
public void sold() {
gupiao.sold();
guozhai.sold();
fangzi.sold();
}
}
package com.hj.designPattern.facade;
public class FacadeTest {
public static void main(String[] args) {
Facade facade = new Facade();
facade.buy();
facade.sold();
}
}
参考:(13条消息) 大话设计模式——外观模式_不见长安见晨雾的博客-CSDN博客https://blog.csdn.net/fengsheng5210/article/details/124071416