设计模式的应用场景(6)--外观模式
来源:互联网 发布:农村淘宝合伙人加盟 编辑:程序博客网 时间:2024/05/24 01:13
外观模式
定义:为对外提供一组接口的子系统提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。
优点:通过统一对外接口访问系统,避免了外部系统和子系统之间的直接联系从而降低了系统间的依赖和复杂度。
缺点:限制了外部系统对子系统的灵活调用。
使用时机:当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口同一封装在一个外观类里,供外系统使用。
下面举例说明外观模式的应用:
小巩公司的内部网是由其他人负责设计的,而小巩需要设计人力资源系统。内部网需要人力资源系统提供人员的相关信息。人力资源系统虽然有相关接口,但是分布在不同的程序代码里,不适合直接对外服务。这时候需要一个统一的类来提供对外的接口。
相关代码
public class SubSystem1 {}public class SubSystem2 {}public interface Facade { void operation2(); void operation1();}public class ConcreteFacade implements Facade { public void operation1() { SubSystem1 sub = new SubSystem1(); //要编写的代码 } public void operation2() { SubSystem2 sub = new SubSystem2(); //要编写的代码 } }//外部系统调用接口public class OtherSystem { public static void main(String[] argv) { Facade facade = new ConcreteFacade(); facade.operation1(); facade.operation2(); }}
阅读全文
0 0
- 设计模式的应用场景(6)--外观模式
- 设计模式应用场景
- 设计模式应用场景
- 设计模式应用场景
- 设计模式 应用场景
- 设计模式 应用场景
- 设计模式应用场景
- 设计模式应用场景
- 设计模式 应用场景
- 设计模式应用场景
- 《设计模式 ● 外观》之业务场景
- 外观模式的应用
- 设计模式6:外观模式
- Android设计模式应用-外观模式
- 各种设计模式的应用场景
- 常用设计模式的应用场景
- 常用设计模式的应用场景
- java设计模式的应用场景
- POJ 1789 Truck History
- 多维动态规划——洛谷P1006 传纸条
- tensorflow笔记(四)之MNIST手写识别系列一
- python入门
- ASP.NET Core
- 设计模式的应用场景(6)--外观模式
- 11.C++调用Lua全局变量(表)
- stream_socket_enable_crypto(): this stream does not
- Number Sequence
- 使用SMTP发送邮件报错:Expected response code 250 but got code "553", with message "553 Envolope sender mis...
- hdu 6181 Two Paths(最短路,spfa)
- bzoj1597 [Usaco2008 Mar]土地购买
- 浏览器关闭后,Session会话结束了么?
- 学习Linux-4.12内核网路协议栈(2.4)——接口层数据包的发送