学习笔记——JAVA设计模式<10>外观模式
2017-06-14 16:50
405 查看
外观模式
迪米特法则(最少知识原则)
一个软件的实体应当尽可能少的与其他实体发生互相作用
外观模式核心
为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用。
模拟注册公司
加入外观门面
常见的场景
使用频率高。如jdbc封装后的,commons提供的DBUtils类,Hibernate提供的工具类,Spring JDBC工具类等
迪米特法则(最少知识原则)
一个软件的实体应当尽可能少的与其他实体发生互相作用
外观模式核心
为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用。
模拟注册公司
package studyGFO; //工商局 public interface ICB { void checkName();//检查注册名 } class huoxingICB implements ICB{ @Override public void checkName() { System.out.println("检查是否有冲突"); } }
package studyGFO; //质监局 public interface QSB { void orgCodeCertificate();//办理组织机构代码证 } class huoxingQSB implements QSB{ @Override public void orgCodeCertificate() { System.out.println("在质监局办理组织机构代码证"); } }
package studyGFO; //税务局 public interface TB { void textCertificate();//办理税务登记证 } class huoxingTB implements TB{ @Override public void textCertificate() { System.out.println("办理税务登记证"); } }
package studyGFO; //银行 public interface Bank { void openAccount();//开户 } class ICBC implements Bank{ @Override public void openAccount() { System.out.println("在工商银行开户"); } }
package studyGFO; public class Client { public static void main(String[] args) { //不使用外观模式 ICB icb = new huoxingICB(); icb.checkName(); QSB qsb = new huoxingQSB(); qsb.orgCodeCertificate(); TB tb = new huoxingTB(); tb.textCertificate(); Bank bank = new ICBC(); bank.openAccount(); } }
加入外观门面
package studyGFO; /** * 办理注册公司流程的门面 * @author http://blog.csdn.net/thewaiting * */ public class Register { public void register() { ICB icb = new huoxingICB(); icb.checkName(); QSB qsb = new huoxingQSB(); qsb.orgCodeCertificate(); TB tb = new huoxingTB(); tb.textCertificate(); Bank bank = new ICBC(); bank.openAccount(); } }
package studyGFO; public class Client { public static void main(String[] args) { //使用外观 new Register().register(); } }
常见的场景
使用频率高。如jdbc封装后的,commons提供的DBUtils类,Hibernate提供的工具类,Spring JDBC工具类等
相关文章推荐
- 学习笔记——JAVA设计模式<2>工厂模式
- 学习笔记——JAVA设计模式<21>观察者模式
- 学习笔记——JAVA设计模式<1>单例模式
- 学习笔记——JAVA设计模式<19>模板方法模式
- 学习笔记——JAVA设计模式<14>中介者模式
- 设计模式学习笔记(十一)——Facade外观模式
- 设计模式入门--设计模式学习笔记<一>
- 设计模式学习笔记--Façade外观模式
- 【HeadFirst 设计模式学习笔记】7 适配器模式和外观模式
- 步步为营 .NET 设计模式学习笔记 十六、Facade(外观模式)
- HeadFirst 设计模式学习笔记6--适配器模式和外观模式
- java 设计模式 学习笔记(10) 外观模式
- Facade外观(结构型模式) --学习笔记
- 设计模式学习笔记(一)--Facade外观模式
- 设计模式 学习笔记(5)迪米特法则、外观模式、建造者模式
- 设计模式学习笔记-外观模式
- 设计模式学习笔记十四:适配器模式、桥接模式与外观模式
- 《Head.First设计模式》的学习笔记(9)--外观模式
- 设计模式学习笔记(十一)——Facade外观模式
- HeadFirst 设计模式学习笔记7--适配器模式和外观模式