zoukankan      html  css  js  c++  java
  • 简易的设计模式——门面模式

    定义

    门面模式也称外观模式,是一种常用的封装的模式。要求一个子系统的外部与内部的通信必须挺哥一个统一的对象进行。门面模式会提供一个高层次的接口,使得系统更容易使用。

    门面模式中的角色

    1. Facade门面角色:客户端可以调用这个角色的方法,此系统指导子系统的所有功能和责任。一般这个角色没有自己的业务逻辑,只是一个委托类。
    2. subsystem子系统角色:可以同时有一个或多个子系统。每个子系统都不是单独的类,而是一个类的集合。

    代码实现

    子系统A

    public class A {
        public void doSomething(){
            System.out.println("class A");
        }
    }
    

    子系统B

    public class B {
        public void doSomething(){
            System.out.println("class B");
        }
    }
    

    子系统C

    public class C {
        public void doSomething(){
            System.out.println("class C");
        }
    }
    
    

    门面 Facade.java

    public class Facade {
        private A a = new A();
        private B b = new B();
        private C c = new C();
        public void methodA(){
            this.a.doSomething();
        }
        public void methodB(){
            this.b.doSomething();
        }
        public void methodC(){
            this.c.doSomething();
        }
    }
    

    门面模式的优点

    • 减少系统的相互依赖:外部系统不会直接访问到子系统,而是访问门面。
    • 提高了灵活性:子系统内部的业务无论如何变化,只要不影响到门面对象。
    • 提高系统的安全性:可以有选择地开放一些功能到门面对象上供客户端使用。

    门面模式的缺点

    门面模式的最大缺点是不符合开闭原则。

    门面模式的使用原则

    • 为复杂的模块或子系统提供一个外部访问的接口。
    • 子系统相对独立——外界只需要调用门面对象上的方法。
    • 预防低水平人员带来的风险扩散。
  • 相关阅读:
    工作流系统中的语法标记系统
    通用附件管理功能改善
    规范数据库表字段大小写 小写字段名全部更改为大写
    Enterprise Solution 虚拟测试环境
    解析大型.NET ERP系统 查找与钻取
    Linux:FHS标准
    Linux:修改和删除已有变量
    分布式系统:高性能系统设计原则
    CAP:Alantany 谈 CAP
    Javascript:自己写模板引擎
  • 原文地址:https://www.cnblogs.com/whthomas/p/4425847.html
Copyright © 2011-2022 走看看