外观模式(Java)
下面是关于我所写的所有设计模式代码(还是建议自己手打或者想一个别的例子练习一次)
(https://github.com/lihang212010/DesignPatterns-/tree/master/designpatterns/src)
先放一张标准UML
接下来是一张本次例子的
这就是一个外观模式了,外观模式是一种简单常用的设计模式,其实你没有听说过这个设计模式也有可能用过,比如,我们在一个类中调用其余几个类的方法,并且按照一定顺序,这就属于外观模式。
讲解下我这个例子吧,在外观类的method1中按照先A方法中的method后B方法中method,method2相反,这样主方法只需要调用外观类就可以使用A,B中的方法而不需要知道A,B2个类,这就属于外观模式。
这个模式不用刻意去学,因为在平时我们就会经常的使用它,只是我们不知道而已。
外观类
public class Facade {
A a;
B b;
public Facade() {
a=new A();
b=new B();
}
public void method1() {
a.method();
b.method();
}
public void method2() {
b.method();
a.method();
}
}
类A
public class A {
public void method() {
System.out.print("我是方法A");
}
}
类B
public class B {
public void method() {
System.out.print("我是方法B");
}
}
主方法
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Facade facade=new Facade();
facade.method1();
facade.method2();
}
}