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

    定义

    门面模式:又叫做外观模式,提供一个统一的接口,来访问子系统的一群接口。主要特征是定义一个高层接口,让子系统更容易使用,属于结构型设计模式。

    使用场景:

    • 为一个复杂模块或者子系统提供一个简洁的供外界访问的接口。
    • 希望提高子系统的独立性。
    • 提供高层接口,隔离客户端和子系统直接交互,预防代码污染

    其实在日常编码中,我们都有意无意地大量使用门面模式。

    通用写法

    代码很简单。

    //A子系统
    public class SubSystemA {
        public void doA(){
            System.out.println("SubSystemA doA");
        }
    }
    //B子系统
    public class SubSystemB {
        public void doB(){
            System.out.println("SubSystemA doB");
        }
    }
    //门面角色
    public class Facade {
        SubSystemA systemA = new SubSystemA();
        SubSystemB systemB = new SubSystemB();
    
        public void doA(){
            systemA.doA();
        }
    
        public void doB(){
            systemB.doB();
        }
    }
    

    我们客户端不需要知道A子系统和B子系统,只需要有门面角色就行了,使用门面角色去调用相关子系统。

    public class Client {
        public static Facade facade = new Facade();
    
        public static void main(String[] args) {
            facade.doA();
            facade.doB();
        }
    }
    

    类图:

    image-20201226222412490

  • 相关阅读:
    L2-1 功夫传人 (25分)
    7-11 家庭房产(25 分)
    7-11 玩转二叉树 (25分)
    7-10 排座位 (25分)
    7-12 最长对称子串 (25分)
    7-10 树的遍历 (25分)
    STL
    Max Gcd
    水果
    Rails
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14194724.html
Copyright © 2011-2022 走看看