91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java享元模式有哪些類

發布時間:2021-12-22 15:06:02 來源:億速云 閱讀:137 作者:iii 欄目:編程語言

本篇內容主要講解“java享元模式有哪些類”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java享元模式有哪些類”吧!

一、關于享元模式

  享元模式有點類似于單例模式,都是只生成一個對象被共享使用。享元模式主要目的就是讓多個對象實現共享,減少不必要的內存消耗,將多對同一對象的訪問集中起來,不必為每個訪問者創建一個單獨的對象,以此來降低內存的消耗。

二、享元模式結構圖

  因為享元模式結構比較復雜,一般結合工廠模式一起使用,在它的結構圖中包含了一個享元工廠類。

  java享元模式有哪些類

  在享元模式結構圖中包含如下幾個角色:

  Flyweight(抽象享元類):通常是一個接口或抽象類,在抽象享元類中聲明了具體享元類公共的方法,這些方法可以向外界提供享元對象的內部數據(內部狀態),同時也可以通過這些方法來設置外部數據(外部狀態)。

  ConcreteFlyweight(具體享元類):它實現了抽象享元類,其實例稱為享元對象;在具體享元類中為內部狀態提供了存儲空間。通常我們可以結合單例模式來設計具體享元類,為每一個具體享元類提供唯一的享元對象。

  UnsharedConcreteFlyweight(非共享具體享元類):并不是所有的抽象享元類的子類都需要被共享,不能被共享的子類可設計為非共享具體享元類;當需要一個非共享具體享元類的對象時可以直接通過實例化創建。

  FlyweightFactory(享元工廠類):享元工廠類用于創建并管理享元對象,它針對抽象享元類編程,將各種類型的具體享元對象存儲在一個享元池中,享元池一般設計為一個存儲“鍵值對”的集合(也可以是其他類型的集合),可以結合工廠模式進行設計;當用戶請求一個具體享元對象時,享元工廠提供一個存儲在享元池中已創建的實例或者創建一個新的實例(如果不存在的話),返回新創建的實例并將其存儲在享元池中。

三、享元模式的實現

  在享元模式中引入了享元工廠類,享元工廠類的作用在于提供一個用于存儲享元對象的享元池,當用戶需要對象時,首先從享元池中獲取,如果享元池中不存在,則創建一個新的享元對象返回給用戶,并在享元池中保存該新增對象。接下來,實現一個登陸的享元模式。

到此,相信大家對“java享元模式有哪些類”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 乌海市| 木兰县| 库尔勒市| 和静县| 毕节市| 岗巴县| 上高县| 康乐县| 高安市| 赫章县| 徐水县| 望城县| 定远县| 桂平市| 南郑县| 斗六市| 宝山区| 浮梁县| 武陟县| 祁东县| 饶平县| 中山市| 栖霞市| 开化县| 尚义县| 乌鲁木齐市| 刚察县| 双柏县| 辉县市| 宁海县| 米脂县| 磐安县| 察雅县| 南京市| 靖远县| 蓬安县| 芜湖市| 通海县| 丰原市| 吉安县|