javascript 对象结构 门面结构

来源:互联网 发布:淘宝老瑞手机怎么样 编辑:程序博客网 时间:2024/05/16 05:29
门面模式: 提供了屏蔽客户端 访问一个或多个子系统复杂功能的接口。
这是一个简单的模式,它看似简单但强大和非常有用的。通常出现在系统建立一个多层体系结构。
var Mortgage = function(name) { //    this.name = name;}Mortgage.prototype = {    applyFor: function(amount) { //门面        // access multiple subsystems...        var result = "approved";        if (!new Bank().verify(this.name, amount)) {            result = "denied";        } else if (!new Credit().get(this.name)) {            result = "denied";        } else if (!new Background().check(this.name)) {            result = "denied";        }        return this.name + " has been " + result +               " for a " + amount + " mortgage";    }}var Bank = function() { //子系统    this.verify = function(name, amount) {        // complex logic ...        return true;    }}var Credit = function() {//子系统    this.get = function(name) {        // complex logic ...        return true;    }}var Background = function() {  //子系统    this.check = function(name) {        // complex logic ...        return true;    }}function run() {    var mortgage = new Mortgage("Joan Templeton");    var result = mortgage.applyFor("$100,000");    alert(result);}

二:
function a(x) {  // do stuff here...}function b(y) {  // do stuff here...}function ab(x, y) {  a(x);  b(y);}


三:

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();}}}}());
module.facade({run: true, val:10});
0 0