外观模式
外观模式(Facade Pattern)门面模式
隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。(就是封装)
public interface Message { public void sendMessage(); } class ZhiFuBao implements Message { @Override public void sendMessage() { System.out.println("支付宝发送短信"); } } class UnionPay implements Message { @Override public void sendMessage() { System.out.println("银联发送短信"); } } class UniCom implements Message { @Override public void sendMessage() { System.out.println("联通发送短信"); } }
新建门面类:
public class FaceMessage { private ZhiFuBao zhiFuBao; private UnionPay unionPay; private UniCom uniCom; public FaceMessage(){ zhiFuBao = new ZhiFuBao(); unionPay = new UnionPay(); uniCom = new UniCom(); } public void send(){ zhiFuBao.sendMessage(); unionPay.sendMessage(); uniCom.sendMessage(); } }
测试
public class App { public static void main(String[] args) { //用外观模式将以下的代码封装 // Message zfb = new ZhiFuBao(); // Message unionpay = new UnionPay(); // Message unicom = new UniCom(); // zfb.sendMessage(); // unionpay.sendMessage(); // unicom.sendMessage(); new FaceMessage().send(); } }
Aimer,c'est partager