设计模式外观

外观模式


设计原则:遵循迪米特
常用场景:一个子系统需要对外提供服务
使用概率: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();
    }
}