中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

中國建設銀行股份有限公司廣東seo網站設計

中國建設銀行股份有限公司,廣東seo網站設計,做網站如何保證詢盤數量,福田手機網站建設目錄 享元模式(Flyweight Pattern) 享元模式的核心角色: 優(yōu)缺點 使用場景 注意事項 代碼實現 享元模式(Flyweight Pattern) 享元模式(Flyweight Pattern)它通過共享對象來減少內存使用和提…

目錄

享元模式(Flyweight Pattern)

享元模式的核心角色:

優(yōu)缺點

使用場景

注意事項

代碼實現


享元模式(Flyweight Pattern)

????????享元模式(Flyweight Pattern)它通過共享對象來減少內存使用和提高性能。享元模式的核心思想是共享,當需要創(chuàng)建一個新對象時,首先檢查是否已經有與其相同的對象存在,如果存在,則直接返回該對象的引用;如果不存在,則創(chuàng)建一個新對象并將其加入對象池中以供下次使用。通過這種方式,可以避免重復創(chuàng)建相同的對象,從而減少內存占用和提高性能。

????????使用享元模式需要有兩個前提:(1)享元對象不可變:當享元模式創(chuàng)建出來后,它的變量和屬性不會被修改;(2)系統(tǒng)中存在大量重復對象:這些重復對象可以使用同一個享元,內存中只存在一份,這樣會節(jié)省大量空間。當然這也是為什么享元對象不可變的原因,因為有很多引用,變更的話會引起很多問題。

享元模式的核心角色

  • 享元工廠(Flyweight Factory):負責創(chuàng)建和管理享元對象。它維護一個享元池(Flyweight Pool),用于存儲已經創(chuàng)建的享元對象。
  • 享元對象(Flyweight):表示可以共享的對象。享元對象通常包含內部狀態(tài)和外部狀態(tài)。內部狀態(tài)是不變的,可以被多個對象共享;外部狀態(tài)是可變的,每個對象都有自己的外部狀態(tài)。

優(yōu)缺點

(1)優(yōu)點:

  • 縮小對象的創(chuàng)立,升高內存中對象的數量,升高零碎的內存,提高效率。
  • 縮小內存之外的其余資源占用。

(2)缺點:

  • 為了使對象可以共享,需要將一些不能共享的狀態(tài)外部化,這將增加程序的復雜性。
  • 讀取享元模式的外部狀態(tài)會使得運行時間稍微變長。

使用場景

  • 系統(tǒng)有大量相似對象。
  • 需要緩沖池的場景。

注意事項

  • (1)注意劃分外部狀態(tài)和內部狀態(tài),否則可能會引起線程安全問題。
  • (2)這些類必須有一個工廠對象加以控制。

代碼實現

package mainimport "fmt"// 一個文字編輯器,需要處理大量的字符對象。每個字符對象都有自己的字體、大小和顏色等屬性。由于字符對象可能非常多,
// 如果每個字符對象都占用大量內存,將導致內存消耗過大。我們希望能夠通過共享相同屬性的字符對象,來減少內存使用。// 享元對象:字符對象
type Character struct {char  runefont  stringsize  intcolor string
}func (c *Character) Display() {fmt.Printf("Character: %c, Font: %s, Size: %d, Color: %s\n", c.char, c.font, c.size, c.color)
}// 享元工廠:字符工廠
type CharacterFactory struct {characters map[rune]*Character
}func NewCharacterFactory() *CharacterFactory {return &CharacterFactory{characters: make(map[rune]*Character),}
}func (f *CharacterFactory) GetCharacter(char rune, font string, size int, color string) *Character {key := charif _, ok := f.characters[key]; !ok {f.characters[key] = &Character{char:  char,font:  font,size:  size,color: color,}}return f.characters[key]
}// 客戶端代碼
func main() {factory := NewCharacterFactory()char1 := factory.GetCharacter('A', "Arial", 12, "Red")char1.Display()char2 := factory.GetCharacter('A', "Times New Roman", 14, "Blue")char2.Display()char3 := factory.GetCharacter('B', "Times New Roman", 14, "Blue")char3.Display()char4 := factory.GetCharacter('B', "Arial", 12, "Red")char4.Display()
}
http://www.risenshineclean.com/news/55293.html

相關文章:

  • 臨沂網站設計公司seo是什么意思的縮寫
  • 用me做后綴的網站跨境電商平臺
  • 愛南寧app官方下載搜索引擎優(yōu)化的主題
  • 甘肅商城網站建設創(chuàng)建網站的流程是什么
  • 做網站有必要?在線推廣網站的方法
  • 怎樣注冊公司流程山西seo優(yōu)化公司
  • 手機上如何寫html網頁seo搜索引擎優(yōu)化就業(yè)前景
  • 怎樣在商務部網站做備案小學生抄寫新聞20字
  • wordpress qq登錄seo顧問咨詢
  • 論壇怎么做網站鏈接廣告聯(lián)盟廣告點擊一次多少錢
  • 專業(yè)做加盟推廣的公司百度網站的優(yōu)化方案
  • 營銷型手機網站建設重慶網站seo搜索引擎優(yōu)化
  • 直播網站源碼免費網站建設技術托管
  • 對于職業(yè)規(guī)劃做的好的網站seo網站建設
  • ps如何做psd模板下載網站南京疫情最新消息
  • 南京網站建設推廣域名搜索
  • 做時時彩開獎網站犯法嗎aso關鍵詞優(yōu)化工具
  • 百度推廣方式武漢seo優(yōu)化代理
  • 考試網站模版河北網站建設制作
  • 優(yōu)購物官方網站化妝品搜狗站長推送工具
  • 百度競價排名收費標準長沙正規(guī)競價優(yōu)化服務
  • 網站導航css源代碼seo多久可以學會
  • 互聯(lián)網推廣服務長沙seo 優(yōu)化選智投未來no1
  • 最新疫情防控方案家庭優(yōu)化大師免費下載
  • 建設網站公開教學視頻下載網絡網站推廣
  • 做測試的網站有哪些免費網絡推廣平臺
  • 一品威客做的網站好用嗎網站快速優(yōu)化排名軟件
  • 做個網站要多少錢福州seo網站排名
  • 網頁設計模板套用步驟seo網絡搜索引擎優(yōu)化
  • 網站常用模塊百度在線問答