Java实现设计模式之外观模式
2017-05-31 21:46
260 查看
外观模式
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。1、 外观类需要了解所有的子系统的方法或属性,进组组合,以备外界调用,
2、 使用时期
a) 设计阶段:需有意识的将不同的两个层分离。
b) 开发阶段:增加外观façade提供一个简单的接口,应对子类的重演和演化。
c) 维护期间:使用façade类,为遗留代码提供清晰简单的接口,让新系统与façade交互,façade与遗留代码交互所有复杂的工作。
这是大话设计模式上实现的外观模式在股票上的使用,将facade类看做基金,客户与基金交互,基金封装各种股票的操作避免客户与股票直接联系。
原模式是c#的,我改成了Java版的:
/**
* @author LilyLee
* @date 2017年6月2日
* @time 下午4:11:24
* @Version 1.0
* @email lilylee_1213@foxmail.com
*
*/
public class FacadeTest {
public static void main(String[] args) {
Facade fa=new Facade();
fa.MethodA();
fa.MethodB();
}
}
class Facade{
SubSystem1 one;
SubSystem2 two;
SubSystem3 three;
public Facade(){
one=new SubSystem1();
two=new SubSystem2();
three=new SubSystem3();
}
public void MethodA(){
System.out.println("方法A");
one.methodOne();
three.methodthree();
}
public void MethodB(){
System.out.println("方法B");
two.methodTwo();
three.methodthree();
}
}
//子系统(原本客户端需要跟子系统打交道,但是现在子系统被外观类调用封装,不再直接跟客户端打交道了)
class SubSystem1{
public void methodOne(){
System.out.println("卖出股票!");
}
}
class SubSystem2{
public void methodTwo(){
System.out.println("买入股票!");
}
}
class SubSystem3{
public void methodthree(){
System.out.println("观望!");
}
}
相关文章推荐
- 设计模式之第7章-外观模式(Java实现)
- Java设计模式菜鸟系列(九)外观模式建模与实现
- 用JSP+Servlet+JavaBean模式实现一个简单的登录网页设计(JSP+Tomcat+MySQL)
- 23种经典设计模式的java实现_3_桥接模式
- 用Java实现的设计模式-Factory
- 设计模式:用Java动态代理实现AOP
- 怎样使用Java实现Factory设计模式
- 23种经典设计模式的java实现_1_抽象工厂模式
- observer设计模式的java实现
- Java设计模式(5) -- 外观
- 23种经典设计模式的java实现之生成器模式
- 设计模式学习笔记以及java代码实现
- 用Java实现的设计模式系列(2)-Prototype
- 用Java实现的设计模式系列(1)-Factory
- 使用观察者模式实现Java应用程序设计MVC模式
- Java设计模式之外观模式研究
- 23种经典设计模式的java实现_2_适配器模式
- 23种经典设计模式的java实现_4_生成器模式
- 23种经典设计模式的java实现_5_职责链模式
- 追MM与设计模式的JAVA实现-简单工厂方法