簡體   English   中英

為什么立面圖案+展示模塊化圖案“增加了安全性”?

[英]why does the facade pattern + revealing modular pattern “add security”?

參考

根據參考: 下面是外觀模式的更高級版本,它增加了內部方法的安全性。

問題:老實說,這意味着增加安全性嗎? 此外,什么是不安全的例子? 最后,什么是安全性和外觀+顯示模塊模式的簡單但實際的用例?

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:
      // HOW DOES THIS MASK THE INTERNALS?  WHAT DO THEY MEAN BY ADDS SECURITY?
      someMethod : function() {
        someMethod();
      }

    };

  }

})(window);

這根本沒有道理。 真的沒有

  • 沒有添加“安全性”。 開發Web應用程序時,安全性是一個完全不同的領域。
  • 與其他模式很好地結合使用 ”,“ 易於實現 ”並不是真正的優勢。 常規設計甚至更簡單。
  • 使內部修補變得容易 ”。 當然。 但是亞尼 當您真正修補內部零件或填充外部零件時,仍然可以引入它。
  • 提供一個更簡單的公共接口 ”。 好吧,它可以用來降低接口的復雜性,特別是如果內部方法具有其他未記錄且預期不會公開的參數。 但是示例中的someMethod沒有任何參數,因此在這里是無用的。

實際上,顯示模塊模式本身已經是一個立面。 它定義了一些內部函數,然后將它們導出到模塊對象,該對象的屬性名稱是外部接口。 不需要額外的間接層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM