基本要点
1、迪米特法则(最少知识原则)
一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解
就像去茶馆喝茶,只需要和茶水服务员打交道即可,不需要和茶具、开水还有茶叶打交道
2、核心
为子系统提供统一的入口,封装子系统的复杂性,便于客户端调用,例如自己封装的工具类
代码样例
假设我们现在要去开一家公司,我们需要去银行取钱,还要去工商局进行注册登记
如果我们有一个接口封装好这些方法,我们就可以直接调用这一个接口即可
// 银行取钱接口
public interface Bank {
void withdrawMoney();
}
class MyBank implements Bank {
@Override
public void withdrawMoney() {
System.out.println("从银行取钱");
}
}
// 工商局注册登记接口
public interface Government {
void registeredCompany();
}
class relevantDepartment implements Government {
@Override
public void registeredCompany() {
System.out.println("进行注册登记");
}
}
// 创建一个封装好的类
public class Register {
public void registerCompany() {
Bank bank = new MyBank();
bank.withdrawMoney();
Government government = new relevantDepartment();
government.registeredCompany();
}
}
public class Client {
public static void main(String[] args) {
// 假如我们不使用外观模式,那我们开设公司需要一一去和那些接口打交道
System.out.println("不使用外观模式-----------------");
Bank bank = new MyBank();
bank.withdrawMoney();
Government government = new relevantDepartment();
government.registeredCompany();
System.out.println("使用外观模式-----------------");
// 如果使用外观模式,那只需要和一个接口打交道即可
Register register = new Register();
register.registerCompany();
}
}
如有错误,欢迎指正
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136813.html