设计模式-外观模式(Facade)

来源:互联网 发布:守望先锋帧数优化补丁 编辑:程序博客网 时间:2024/06/05 19:20

1.概述

外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

1.1使用场景

1.在设计初期阶段,我们应该要有意识的把不同的两个层分离,例如:三层架构,数据访问层、业务逻辑层、表现层;如果我们不在层与层之间建立外观(Facede),那么层与层之间相互调用就会比较繁琐,耦合性也很高。因此建立外观就显得很有必要。
2.在开阶段、子系统往往会因为不断的重构演化而变得越来越复杂,增加外观可以提供一个简单的接口,减少他们之间的依赖。
3.在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了。可以这个遗留系统包含了一些个核心技术,新的系统需要依赖于老的系统,这个时候我们用外观模式也是很适合的,我们可以为新系统开发一个外观类(Facade),来提供设计粗糙或者高度复杂的遗留代码的比较清晰简单的接口,让新系统与Facade交互,Facade与遗留代码交互所有复杂的工作。

2.UML

这里写图片描述

3.代码

SubSystemOne.java

public class SubSystemOne {    public void methodOne(){        System.out.println("子系统方法一");    }}

SubSystemTwo.java

public class SubSystemTwo {    public void methodTwo(){        System.out.println("子系统方法二");    }}

SubSystemThree.java

public class SubSystemThree {    public void methodThree(){        System.out.println("子系统方法三");    }}

Facade.java(外观类)

public class Facade {    private SubSystemOne one;    private SubSystemTwo two;    private SubSystemThree three;    public Facade(){        this.one = new SubSystemOne();        this.two = new SubSystemTwo();        this.three = new SubSystemThree();    }    public void methodA(){        one.methodOne();        two.methodTwo();    }    public void methodB(){        three.methodThree();        one.methodOne();    }}

Client.java(客户端)

public class Client {    public static void main(String args[]){        Facade facade = new Facade();        facade.methodA();        facade.methodB();    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 十多天的宝宝吐奶怎么办 未满月婴儿吐奶怎么办 2个月宝宝溢奶怎么办 四岁宝宝说话结巴怎么办 小孩说话结巴打顿怎么办 2岁宝宝突然说话结巴怎么办 2岁宝宝突然结巴怎么办 幼儿舌头起泡牙龈出血怎么办 小孩长得太快怎么办 脑出血压着神经不会说话怎么办 四岁宝宝说话有点口吃怎么办 三岁宝宝有点口吃怎么办 3岁宝宝有点口吃怎么办 三岁宝宝说话有点口吃怎么办 六岁说话重复第一个字怎么办 宝贝烧到39.5度怎么办 宝贝39度不退烧怎么办 两岁多小儿突然变得口吃怎么办 百度两周岁宝宝口吃怎么办 2岁宝宝偶尔结巴怎么办 两岁宝宝说话磕巴怎么办 宝宝两岁结巴了怎么办 人多说话就紧张怎么办 小孩拉尿不叫人怎么办 2岁宝宝说话有点结巴怎么办 两岁半的宝宝说话结巴怎么办 2个月宝宝怕洗澡怎么办 2岁宝宝不喜欢喝奶粉怎么办 宝宝断奶不喜欢喝奶粉怎么办 宝宝不喜欢奶粉的味道怎么办 四个月宝宝不喜欢吃奶粉怎么办 四岁宝宝有口臭怎么办 4个月宝宝口臭怎么办 2岁宝宝有口臭是怎么办 两岁宝宝有口气怎么办 2岁宝宝口气重是什么原因怎么办 两岁宝宝口气重怎么办 两岁宝宝有口臭怎么办 两岁身高不达标怎么办 两岁宝宝82厘米怎么办 2岁幼儿说话结巴怎么办