首页 > 其他 > 详细

设计模式之外观模式

时间:2015-12-30 23:49:18      阅读:314      评论:0      收藏:0      [点我收藏+]

设计模式之外观模式

外观模式自我感觉很常见,用途也会很广泛

外观模式的用途

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

UML

技术分享

代码实现

首先定义四个子系统类

package facade;

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

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

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

public class SubSystemFour {
    public void methodFour() {
        System.out.println("子系统方法四");
    }
}

接着重点来了,定义外观类

package facade;

public class Facade {
    SubSystemOne subSystemOne;
    SubSystemTwo subSystemTwo;
    SubSystemThree subSystemThree;
    SubSystemFour subSystemFour;
    public Facade() {
        // TODO Auto-generated constructor stub
        subSystemOne=new SubSystemOne();
        subSystemTwo =new SubSystemTwo();
        subSystemThree =new SubSystemThree();
        subSystemFour =new SubSystemFour();
    }
    public void MethodA() {
        System.out.println("method A ");
        subSystemOne.methodOne();
        subSystemTwo.methodTwo();
    }
    public void MethodB() {
        System.out.println("method B ");
        subSystemThree.methodThree();
        subSystemFour.methodFour();
    }
}

最后建立实现类

package facade;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Facade facade =new Facade();
        facade.MethodA();
        facade.MethodB();
    }

}

书中此图我觉得非常好地解释了外观模式的用途以及用法

技术分享

 

外观模式对代码重构具有很大的作用。它可以为一个复杂子系统提供一个简单接口,大大降低了耦合度。

 

初学《大话设计模式》

设计模式之外观模式

原文:http://www.cnblogs.com/zhaoww/p/5090364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!