外观模式

package test;

import com.whut.command.Light;

public class Facede {
  //等各种子系统的操作
  private Light light;
  private Door door;
  private Window window;
 
  public void goHome()
  {
    light.on();
    door.open();
    window.open();
  }

}

  适配器模式将一个或者多个类接口变成客户所期望的接口,并不是转换一个接口。

  外观模式也可以只针对一个拥有复杂接口的类提供简化的接口。

  适配器模式设计的意图主要是让现有接口改变成符合顾客所期望的接口

  外观模式的意图是将一个复杂的子系统的所有接口简化,以提供一个便利方便的接口来给客户

  设计模式原则:

  少知识原则,减少对象之间的交互,只留下几个“密友”。

  要想遵循这个原则一般我们应该只调用属于以下范围的方法:

  1、该对象的本身

  2、被当做方法的参数而传递进来的对象

  3、此方法所创建或实例化的任何对象

  4、对象的任何组件,即该对象内部的所有成员变量或者方法

  不要调用当某对象是调用其他方法后返回的结果。

  两个模式总结:

  1)当需要使用一个现有的类但是其借款并不符合你的需要时,可以用适配器模式

  2)当需要简化并且统一一个很大的接口或者一群复杂的接口时候

  3)适配器改变接口以使其符合客户的期望

  4)外观将客户从一个复杂的子系统中解耦

  5)适配器将一个对象包装起来以改变其接口。装饰者将一个对象包装起来用来增加新的行为和责任。外观将一群对象包装起来以简化其接口