国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

享元模式(Flyweight)

senntyou / 2243人閱讀

摘要:享元模式一享元模式定義運用共享技術有效的支持大量細粒度的對象二具體實現創建對象接口創建具體對象創建工廠調用輸出三優缺點優點減少對象的創建,節省內存缺點提升了系統的復雜性四源碼

享元模式

一. 享元模式 1.1 定義

運用共享技術有效的支持大量細粒度的對象.

二. 具體實現 2.1 創建對象接口
    public interface IFlyweight {
        void print();
    }
2.2 創建具體對象
    public class Flyweight implements IFlyweight {
        private String id;
        public Flyweight(String id){
            this.id = id;
        }
        @Override
        public void print() {
            System.out.println("Flyweight.id = " + getId() + " ...");
        }
        public String getId() {
            return id;
        }
    }
2.3 創建工廠
    public class FlyweightFactory {
        private Map flyweightMap = new HashMap();
        public IFlyweight getFlyweight(String str){
            IFlyweight flyweight = flyweightMap.get(str);
            if(flyweight == null){
                flyweight = new Flyweight(str);
                flyweightMap.put(str, flyweight);
            }
            return  flyweight;
        }
        public int getFlyweightMapSize(){
            return flyweightMap.size();
        }
    }
2.4 調用
    public static void main(String[] args) {
        FlyweightFactory flyweightFactory = new FlyweightFactory();
        IFlyweight flyweight1 = flyweightFactory.getFlyweight("A");
        IFlyweight flyweight2 = flyweightFactory.getFlyweight("B");
        IFlyweight flyweight3 = flyweightFactory.getFlyweight("A");
        flyweight1.print();
        flyweight2.print();
        flyweight3.print();
        System.out.println(flyweightFactory.getFlyweightMapSize());
    }
2.5 輸出
    Flyweight.id = A ...
    Flyweight.id = B ...
    Flyweight.id = A ...
    2
三. 優缺點 3.1 優點

減少對象的創建,節省內存.

3.2 缺點

提升了系統的復雜性.

四. 源碼
    https://github.com/Seasons20/DisignPattern.git

END

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69534.html

相關文章

  • 一起學設計模式 - 享元模式

    摘要:享元模式屬于結構型模式的一種,又稱輕量級模式,通過共享技術有效地實現了大量細粒度對象的復用概述兩種結構狀態內部狀態享元對象內部不隨外界環境改變而改變的共享部分。 享元模式(Flyweight Pattern)屬于結構型模式的一種,又稱輕量級模式,通過共享技術有效地實現了大量細粒度對象的復用... 概述 兩種結構狀態 內部狀態:享元對象內部不隨外界環境改變而改變的共享部分。 外部狀態...

    Jason 評論0 收藏0
  • 設計模式享元模式

    摘要:類圖相關的設計模式享元模式和代理模式當代理模式消耗性能比較大的時候,就可以用享元模式享元模式和單例模式容器單例,享元模式就是復用對象的思想。源碼中的享元模式源碼地址享元模式參考慕課網設計模式精講設計模式讀書筆記享元模式 0x01.定義與類型 定義:提供了減少對象數量從而改善應用所需的對象結構的方法,系統使用少量對象,而且這些都比較相似,狀態變化小,可以實現對象的多次復用。 運用共享技...

    vvpale 評論0 收藏0
  • JavaScript 設計模式系列 - 享元模式與資源池

    摘要:享元模式運用共享技術來有效地支持大量細粒度對象的復用,以減少創建的對象的數量。意為蒼蠅,指輕蠅量級,指代對象粒度很小。如果考生人數少,就分別少準備幾個自動檔和手動檔的駕考車,考生多的話就多準備幾輛。我們去考四六級的時候為什么這么多考試 showImg(https://segmentfault.com/img/remote/1460000020135777); 享元模式 (Flyweig...

    104828720 評論0 收藏0
  • 《設計模式》3.結構型模式

    摘要:類的適配器結構目標角色這就是所期待得到的接口,由于是類適配器模式,因此目標不可以是類。這種類型的設計模式屬于結構型模式,它是作為現有的類的一個包裝。和適配器模式的關系適配器模式的用意是改變所考慮對象的接口,而代理模式不能改變。 點擊進入我的博客 3.1 適配器模式 適配器模式把一個類的接口變換成客戶端所期待的另一種接口,使得原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。 3...

    Yuqi 評論0 收藏0
  • Design Patterns - Flyweight Pattern(譯)

    摘要:享元模式會復用那些內存中已經存在且與請求對象相似的對象,而不是去創建新的對象,那些已經存在的對象會以某種方式存儲,如果沒有發現與請求匹配的對象時將會創建新的對象。 原文鏈接譯者:smallclover希望對你有所幫助,謝謝! 設計模式-享元模式 享元模式主要用來減少對象的數量(復用我們內存中已存在的對象,減少在系統創建對象實例),以此來減少對內存資源的占用,從而提高系統的性能。這種類型...

    darryrzhong 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<