您的位置:首页 > 其它

设计模式的应用场景(6)--外观模式

2017-08-28 20:09 399 查看

外观模式

定义:为对外提供一组接口的子系统提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。

优点:通过统一对外接口访问系统,避免了外部系统和子系统之间的直接联系从而降低了系统间的依赖和复杂度。

缺点:限制了外部系统对子系统的灵活调用。

使用时机:当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口同一封装在一个外观类里,供外系统使用。

下面举例说明外观模式的应用:

小巩公司的内部网是由其他人负责设计的,而小巩需要设计人力资源系统。内部网需要人力资源系统提供人员的相关信息。人力资源系统虽然有相关接口,但是分布在不同的程序代码里,不适合直接对外服务。这时候需要一个统一的类来提供对外的接口。

相关代码

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: