Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 外观和模块模式之间的差异_Javascript_Design Patterns - Fatal编程技术网

Javascript 外观和模块模式之间的差异

Javascript 外观和模块模式之间的差异,javascript,design-patterns,Javascript,Design Patterns,我阅读了这篇文章,对facade和模块模式之间的区别感到困惑 在这两种方式中,我们实际上是在调用同一个私有函数。facade提供了什么大功能?通常,facade隐藏了不同模块的复杂实现,而不是您自己的代码。正如在DOM事件侦听器示例中所看到的,该特定页面以前已被删除。我不想从中学到什么。事实上,与代码结构没有多大关系。可以使用JS“模块模式”来实现外观。 var MyModule = ( function( window, undefined ) { // revealing modul

我阅读了这篇文章,对
facade
模块模式之间的区别感到困惑


在这两种方式中,我们实际上是在调用同一个私有函数。facade提供了什么大功能?

通常,facade隐藏了不同模块的复杂实现,而不是您自己的代码。正如在DOM事件侦听器示例中所看到的,该特定页面以前已被删除。我不想从中学到什么。事实上,与代码结构没有多大关系。可以使用JS“模块模式”来实现外观。
var MyModule = ( function( window, undefined ) {

  // revealing module pattern ftw
  function MyModule() {

    function someMethod() {
      alert( 'some method' );
    }

    function someOtherMethod() {
      alert( 'some other method' );
    }

    // expose publicly available methods
    return {

      // in our normal revealing module pattern, we'd do the following:
      someMethod : someMethod,

      // in the facade pattern, we mask the internals so no one has direct access by doing this:
      someMethod : function() {
        someMethod();
      }

    };

  }

} )( window );