设计模式快速参考-外观模式

本文介绍了一种简单的设计模式,通过为客户提供单一的接口来解决复杂问题。客户仅需与接线员交互,接线员负责直接解决问题或寻求内部帮助。

 

    为一组类提供简单的外部接口,使外部调用者不需要和所有内部干系人打交道,就能让调用者满意。

 

class CallCenter{
   public void solve(Customer customer){
      //接受客户提出的问题
      operator.acceptProblem(customer.getProblem());
      boolean canSolved = operator.solve();
      if (!canSolved) {
         //如果不能解决,则请求其它人帮助。
         operator.askHelp();
      }
   }
}

class Customer{
   public void call(CallCenter callCenter){
      callCenter.solve(this);
   }
}

class Operator{
}
 

 


Client:

 

CallCenter callCenter = new CallCenter();
Custom aCustomer = new Customer();
aCustomer.call(callCenter);


      这里对客户来讲,与他接触的只有一个接口,就是接线员,最后的结果是解决他的问题。接线员可以直接解决,如果他不能解决,它可以选择请求其它人的帮助去解决这个问题。客户是不关心接线员在内部做了什么。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值