zoukankan      html  css  js  c++  java
  • 设计模式-门面模式

    门面模式:

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

    应用场景:

    1.当您需要使用复杂子系统的有限但直接的接口时,请使用Facade模式。

    2.当您想要将子系统组织成层时,请使用Facade。

    /**
     * 门面模式
     */
    public class facadeTest {
        public static void main(String[] args) {
            new Client1().doSomething1();
            new Client2().doSomething1();
        }
    }
    
    class Client1 {
        Facade facade = new Facade();
    
        public void doSomething1(){
            facade.doSomethingFacade();
        }
    }
    
    class Client2 {
        Facade facade = new Facade();
    
        public void doSomething1(){
            facade.doSomethingFacade();
        }
    }
    
    class Facade {
        SubSystem1 subSystem1 = new SubSystem1();
        SubSystem2 subSystem2 = new SubSystem2();
        SubSystem3 subSystem3 = new SubSystem3();
    
        public void doSomethingFacade() {
            subSystem1.method1();
            subSystem2.method1();
            subSystem3.method1();
        }
    }
    
    class SubSystem1 {
        public void method1() {
            System.out.println("SubSystem1 excute");
        }
    }
    
    class SubSystem2 {
        public void method1() {
            System.out.println("SubSystem2 excute");
        }
    }
    
    class SubSystem3 {
        public void method1() {
            System.out.println("SubSystem3 excute");
        }
    }
  • 相关阅读:
    Ignite、Vertx
    Spring boot ConditionalOnClass原理解析
    SPI
    Redis (总结)
    Mysql 线程池 ===
    Mysql JDBC-mysql-Driver queryTimeout分析
    Java网关服务-AIO(三)
    Java网关服务-AIO(二)
    Java网关服务-AIO(一)
    Java nio Server端示例
  • 原文地址:https://www.cnblogs.com/chenfx/p/14787667.html
Copyright © 2011-2022 走看看