门面模式定义:要求一个子系统的外部与其内部的通信必须通过一个同一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。
优点:
1、减少系统的相互依赖。外界的访问不必深入子系统内部。
2、提高了灵活性。
3、提高安全性。
缺点:
门面模式的最大的缺点就是不符合开闭原则。
类图如下:
实现代码如下:
子系统类ClassA:
package com.designpatterns.facade;
/**
* @author WSYW126
* @version 2016年5月6日下午7:16:45
*/
public class ClassA {
public void doSomething() {
System.out.println("做饭");
}
}
子系统类ClassB:
package com.designpatterns.facade;
/**
* @author WSYW126
* @version 2016年5月6日下午7:16:45
*/
public class ClassB {
public void doSomething() {
System.out.println("吃饭");
}
}
子系统类C:
package com.designpatterns.facade;
/**
* @author WSYW126
* @version 2016年5月6日下午7:16:45
*/
public class ClassC {
public void doSomething() {
System.out.println("刷碗");
}
}
对外的面门角色Facade类:
package com.designpatterns.facade;
/**
* @author WSYW126
* @version 2016年5月6日下午7:19:14
*/
public class Facade {
ClassA A = new ClassA();
ClassB B = new ClassB();
ClassC C = new ClassC();
public void eat(){
A.doSomething();
B.doSomething();
C.doSomething();
}
}
测试类:
package com.designpatterns.facade;
/**
* @author WSYW126
* @version 2016年5月6日下午7:20:30
*/
public class Client {
public static void main(String[] args) {
System.out.println("我要吃饭!");
Facade F = new Facade();
F.eat();
}
}
这就是门面模式。
参考资料:
设计模式之禅
备注:
转载请注明出处
http://blog.youkuaiyun.com/wsyw126/article/details/51334018
by WSYW126