外观模式
设计原则:遵循迪米特
常用场景:一个子系统需要对外提供服务
使用概率:60%
复杂度:中
变化点:无
选择关键点:子系统对外提供服务是否需要依赖很多的类
逆鳞:子系统对外提供的服务的变化或子系统本身的不稳定
相关设计模式
中介者模式:二者都是为了处理复杂的耦合关系,不同的是外观模式处理的是类之间复杂的依赖关系,中介者模式处理的是对象之间复杂的交互关系
主要思想
把多个类的调用简化集中到一个类中,完成一个完整的功能,而减少了其下层类的耦合
有点类始于我们自己实现的一些工具类,工具类就集合了很多jdk层级的调用,本身jdk很多类自己是没有依赖的。
public class UserAccount {
public String getUserAccount(){
return "用户帐号1";
}
}
public class UserInfo {
public String getUserRealName(){
return "用户真是姓名1";
}
}
public class UserFacde {
UserAccount account = new UserAccount();
UserInfo info = new UserInfo();
//组合出一个常用的 固定调用方法
public String getUserAllInfo() {
return account.getUserAccount()+info.getUserRealName();
}
}