您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页JS设计模式6 - The Facade Pattern

JS设计模式6 - The Facade Pattern

来源:二三四教育网

外观模式

外观模式.png

目的

为复杂系统提供统一的接口

何时使用

  1. 需要一个简单的接口屏蔽复杂系统
  2. 系统实现之间有很多依赖
  3. 系统和子系统需要分层

举例

web服务器的service是一个典型的外观模式,在服务器内部可能有复杂的业务逻辑,也可能有很多数据库操作,但是客户端在访问服务器的时候只需要功能性的接口。

代码

var module = (function() {
 
    var _private = {
        i: 5,
        get: function() {
            console.log( "current value:" + this.i);
        },
        set: function( val ) {
            this.i = val;
        },
        run: function() {
            console.log( "running" );
        },
        jump: function(){
            console.log( "jumping" );
        }
    };
 
    return {
 
        facade: function( args ) {
            _private.set(args.val);
            _private.get();
            if ( args.run ) {
                _private.run();
            }
        }
    };
}());
 
 
// Outputs: "current value: 10" and "running"
module.facade( {run: true, val: 10} );

上面facade的接口屏蔽了很多内部接口。

结论

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务