java设计模式之外观模式
2016-08-20 15:01
232 查看
外观模式概念
外观模式又称为门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个搞层次接口,使得这一个子系统更加容易使用。这一模式完美的体现了依赖倒转原则和迪米特法则的思想,所以是非常常用的模式之一。外观模式UML图
外观模式代码
学习外观模式我使用的例子是一个打架的例子,打架一般都不希望被人看见,只要知道打了人了就可以了。package com.roc.face; /** * 门面模式接口 打架不能让别人看见 * @author liaowp * */ public interface FaceInterface { /** * 跟谁打 * @param name */ public void fight(String name); /** * 给糖 * @param num */ public void giveTang(int num); }
package com.roc.face; /** * 具体实现方式 * @author liaowp * */ public class FaceIml implements FaceInterface{ /** * 打架 */ public void fight(String name) { System.out.println("打了"+name); } /** * 给糖 * @param num */ public void giveTang(int num){ System.out.println("不能报复,给你"+num+"块糖"); } }
package com.roc.face; /** * 对外面的情况 * @author liaowp * */ public class FaceModel { private FaceInterface faceInterface=new FaceIml(); public void deal(String name,int num){ faceInterface.fight(name); faceInterface.giveTang(num); } }
package com.roc.face; /** * 使用场景 * @author liaowp * */ public class Client { public static void main(String[] args) { FaceModel faceModel=new FaceModel(); String name="liaowp"; faceModel.deal(name,1);//并不关心里面怎么打的,只知道要打那个人。这就是门面 假如现在打完之后怕报复,又给了一块糖,只需要修改接口那边就可以了。 } }
外观模式适用场景
(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
(3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
相关文章推荐
- Java设计模式(5) -- 外观
- java软件体系结构设计模式----外观
- JAVA设计模式(22) —外观(Facade)模式
- 【Java设计模式】之外观模式
- JAVA设计模式十八:--Facade(外观模式或门面模式)
- Java设计模式之外观模式
- java设计模式-外观模式(Facade)
- Java设计模式 结构模式-外观模式(Facade)
- JAVA设计模式之外观模式
- Java设计模式---外观模式
- Java设计模式(五)Facade(外观),Composite(组合),Decorator(油漆工)
- java 设计模式学习笔记七 facade外观模式
- JAVA设计模式十九--Facade(外观模式)
- Java设计模式之适配器模式和外观模式
- Java设计模式之外观模式研究
- Java设计模式之外观模式
- java设计模式之外观模式Facade
- JAVA设计模式——外观模式
- Java设计模式---外观模式
- Java设计模式十七:外观模式(Facade)