迪米特法则(最少知识原则)
- 一个软件实体应当尽可能少的与其他实体发生相互作用
外观模式的核心
- 为子系统提供统一的入口,封装子系统的复杂性,便于客户端被调用。
基本案例(泡茶流程代码解析)
准备必要工具(茶具、茶叶、水、喝茶的人)
1 | /** |
使用非外观者模式自己泡茶
1 | /** |
结果:
使用紫砂壶
使用普洱
使用100度开水
黄药师自己泡茶
由上可以看出自己泡茶需要调用的东西极多,颇为复杂。
使用外观者模式茶馆喝茶
1 | /** |
结果:
使用盖碗茶具
使用碧螺春
使用80度开水
为欧阳锋泡茶
所以,自己泡茶还是茶馆喝茶,你,选择好了吗?
开发中常用的场景
- 频率很高。哪里都会遇到。各种技术和框架中,都有外观模式的使用。如:
- JDBC封装后,commons提供的DBUtils类,Hibernate提供的工具类、Spring JDBC工具类等。
注:该博文为学习总结,视频来源为高淇java300集