一个类A需要使用多个复杂的类,且类A也有多个实例,此时则可以生成一个类B,在类B中使用多个类,类A调用类B来调用多个类
什么是外观模式?为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
外观模式的抽象实现逻辑说明:首先是多个系统类SystemClass1,SystemClass2…,外观类中需要使用多个系统类的方法,因此外观类成员有多个系统类,在客户端类中调用外观类的方法,等效于直接在客户端类中调用多个系统类
UML图 多个系统类public class SystemClass1 { public void method1(){ System.out.println("class1.method1"); } } public class SystemClass2 { public void method2(){ System.out.println("class2.method2"); } }外观类
public class Facade { private SystemClass1 class1; private SystemClass2 class2; public Facade(){ class1 = new SystemClass1(); class2 = new SystemClass2(); } public void methodA(){ class1.method1(); } public void methodB(){ class2.method2(); class1.method1(); } }客户端类
public class Client { public static void main(String[] args) { Facade facade = new Facade(); facade.methodA(); facade.methodB(); } }
生活实例:股民们可以通过买基金,让专业的基金经理人来负责买卖多支股票,股民只需要买基金和卖基金即可
在java中也是如此,web有经典的三层架构,controller,service,mapper,我们在controller中调用service的方法,service中调用多个mapper的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)