java设计模式-外观模式
发布时间:2020-12-15 01:56:18 所属栏目:Java 来源:网络整理
导读:第一次好好的看设计模式,可能有不对的地方,大佬们可以下面指出,感谢! ----------- 分割线 ---------- ? uml图: 左图为杂乱的代码,右图为使用外观模式后的代码。 示例:现在火热的springcloud的zuul组件设计就是个外观模式,所有请求都经过zuul,然后去请
第一次好好的看设计模式,可能有不对的地方,大佬们可以下面指出,感谢! ----------- 分割线 ---------- ? uml图: 左图为杂乱的代码,右图为使用外观模式后的代码。 示例:现在火热的springcloud的zuul组件设计就是个外观模式,所有请求都经过zuul,然后去请求具体服务。 ?好了,上代码 定义上司类 public class Boss { StaffA staffA; StaffB staffB; StaffC staffC; public void Initialization() { staffA = new StaffA(); staffB = new StaffB(); staffC = new StaffC(); } public void start () { staffA.say(); staffC.say(); staffC.say(); } } 定义3个员工: public class StaffA { public void say(){ System.out.println("我是员工A"); } } public class StaffB { public void say() { System.out.println("我是员工B"); } } public class StaffC { public void say() { System.out.println("我是员工C"); } } 调用出: public class Main { public static void main(String[] args){ Boss boss = new Boss(); boss.Initialization(); //老板想让下面的员工都说一下自己的名字 boss.start(); } } 执行结果: 使用外观模式,我们就不用关注每个员工是怎么去做的(员工A是站着喊名字,员工B躺着喊,我们都不用管),我们只需要关注上司的情况就行,调用上司的执行方法,由上司再去调度下属。 优点:代码耦合度降低了,个个子系统之间职责分明。 缺点:违背了开闭原则,需要去频繁修改外观类。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |