外观模式
隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。
通过一个控制类,来控制多个类的方法。这样用户只要会操作控制类,而不用学习其他多个类了。
去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。
/**
* Created by malei on 2016/12/6.
* Doctor是控制类,通过这个类可以控制Disease的实现类
*/
public class Doctor {
private final ColdDis mColdDis;
private final HotDis mHotDis;
public Doctor(){
mColdDis = new ColdDis();
mHotDis = new HotDis();
}
public void sayByCold(){
mColdDis.say();
}
public void sayByHot(){
mHotDis.say();
}
public static void main(String[] args){
Doctor dor = new Doctor();
dor.sayByCold();
}
}
/**
* Created by malei on 2016/12/6.
*/
public class ColdDis implements Disease{
@Override
public void say() {
Log.show("感冒了");
}
}
/**
* Created by malei on 2016/12/6.
*/
public class HotDis implements Disease{
@Override
public void say() {
Log.show("发烧了");
}
}
/**
* Created by malei on 2016/12/6.
*/
public interface Disease {
void say();
}