设计模式7--外观模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_16658263/article/details/89302158

什么是外观模式

外观模式(Facade Pattern)门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

外观模式例子

用户注册完之后,需要调用阿里短信接口、邮件接口、微信推送接口。

public interfaceEamilSmsService {

       public voidsendSms();     

}

public classEamilSmsServiceImpl implements  EamilSmsService{

     public voidsendSms() {

           System.out.println("发送邮件消息");

           

     }

}

 

 

 

//微信消息推送

public interfaceWeiXinSmsService {

  public voidsendSms();     

}

public classEamilSmsServiceImpl implements   EamilSmsService{

 

     @Override

     public voidsendSms() {

           System.out.println("发送邮件消息");

           

     }

 

}

 

//阿里短信消息

public interfaceAliSmsService {

     public voidsendSms();

}

public classAliSmsServiceImpl implementsAliSmsService {

 

     @Override

     public voidsendSms() {

     System.out.println("支付宝发送消息...");

     }

 

}

 

                   

门面类

public class Computer {

     AliSmsService aliSmsService;

     EamilSmsService eamilSmsService;

     WeiXinSmsService weiXinSmsService;

 

     public Computer() {

           aliSmsService = newAliSmsServiceImpl();

           eamilSmsService = new EamilSmsServiceImpl();

           weiXinSmsService = newWeiXinSmsServiceImpl();

     }

 

     public void sendMsg() {

           aliSmsService.sendSms();

           eamilSmsService.sendSms();

           weiXinSmsService.sendSms();

 

     }

 

}

 

public class Client {

 

     public static voidmain(String[] args) {

           // AliSmsService aliSmsService= new AliSmsServiceImpl();

           // EamilSmsService eamilSmsService= new EamilSmsServiceImpl();

           // WeiXinSmsService weiXinSmsService= new WeiXinSmsServiceImpl();

           // aliSmsService.sendSms();

           // eamilSmsService.sendSms();

           // weiXinSmsService.sendSms();

           newComputer().sendMsg();

     }

 

}

猜你喜欢

转载自blog.csdn.net/sinat_16658263/article/details/89302158