美文网首页
java设计模式10(外观模式)

java设计模式10(外观模式)

作者: 刺风有道 | 来源:发表于2019-04-22 21:29 被阅读0次

    外观模式通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,使子系统与客户端的耦合度降低,且客户端调用非常方便。

    外观模式的定义:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

    外观模式的结构与实现:
    1.Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或多个)子系统的功能和责任;在正常情况下,它将所有从客户端发来的请求委派到相应的子系统,传递给相应的子系统对象处理。

    public class Facade {
    
        private SubSystem subSystem=new SubSystem();
        
        private SubSystemA subSystemA=new SubSystemA();
        
        private SubSystemB subSystemB=new SubSystemB();
        
        public void myTest() {
            //调用子系统方法
            subSystem.test();
            subSystemA.testA();
            subSystemB.testB();
        }
    }
    

    2.SubSystem(子系统角色):在软件系统中可以有一个或者多个子系统角色,每一个子系统可以是一个单独类或者一个类的集合;每一个子系统都可以被客户端调用,或者被外观角色调用,它处理由外观类传递来的请求;子系统并不知道外观的存在,对于子系统而言,外观角色仅仅是另一个客户端。

    public class SubSystem {
    
        public void test() {
            System.out.println("实现子系统业务!");
        }
    }
    
    
    public class SubSystemA {
    
        public void testA() {
            System.out.println("实现子系统A业务!");
        }
    }
    
    public class SubSystemB {
    
        public void testB() {
            System.out.println("实现子系统B业务!");
        }
    }
    

    3.Test:

    public class Test {
    
        public static void main(String[] args) {
            Facade facade=new Facade();
            facade.myTest();
        }
    }
    

    4.运行内容:

    实现子系统业务!
    实现子系统A业务!
    实现子系统B业务!
    

    相关文章

      网友评论

          本文标题:java设计模式10(外观模式)

          本文链接:https://www.haomeiwen.com/subject/iweugqtx.html