<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] >[success] # 享元模式的適用場景 * 書中對著一部的總結 ~~~ 1.使用了享元模式之后,我們需要分別多維護一個 factory 對象和一個 manager 對 象,在大部分不必要使用享元模式的環境下,這些開銷是可以避免的。 2.享元模式使用場景: 2.1.一個程序中使用了大量的相似對象。 2.2.由于使用了大量對象,造成很大的內存開銷。 2.3.對象的大多數狀態都可以變為外部狀態。 2.4.剝離出對象的外部狀態之后,可以用相對較少的共享對象取代大量對象。 ~~~ >[success] # 享元模式對內外部狀態的依賴 ~~~ 1.實現享元模式的關鍵是把內部狀態和外部狀態分離開來。有多少種內部狀態的組合, 系統中便最多存在多少個共享對象 2.外部狀態儲存在共享對象的外部,在必要時被傳入共享對象來組裝成一個完整的對象 ~~~ >[danger] ##### 沒有內部狀態的享元 ~~~ 1.當沒有內部狀態的享元,就說明所有實例都共享同一個對象,只需要改變的就是用來緩存的 工廠方法和改變創建內部共享的實例 ~~~ * 以上一章節的案例沒有共享的內部狀態的類可以定義成 ~~~ var Upload = function(){}; ~~~ * 工廠函數不需要在緩存了定義成 ~~~ var UploadFactory = (function(){ var uploadObj; return { create: function(){ if ( uploadObj ){ return uploadObj; } return uploadObj = new Upload(); } } })(); ~~~ >[danger] ##### 沒有外部 ~~~ 1.如果沒有外部狀態的分離,即使使用了共享的技術,但并不是一個純粹的享元模式 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看