系統使用某個對象的過程中 , 需要創建數量較多的同類對象 , 同時大量對象中還普遍存在狀態相同的情況 , 此時就需要簡化對象狀態 , 使相同狀態的對象的量減少 , 降低資源的消耗 .
不變模式可以達到這樣的要求 , 當一個對象穿件之後 , 內部狀態在整個類生命周期都不會發生變化 , 如果變化則需要創建新類來完成 .
不變模式分為弱不變模式和強不變模式
弱不變模式 , 某個類對象狀態不可以變化 , 但是其子類對象的狀態可以變化 .
強不變模式 , 某個類對象狀態不可以變化 , 同時其子類對象的狀態也不能進行變化 .
不變模式一般只有一個不變類組成 , 如果討論不變模式種類需要增加子類來完成 .
不變模式達成條件
1. 不變類中沒有方法修改對象的狀態 .
2. 不變類中所有屬性都為私有 .
3. 不變類中引用的其他對象 , 必須設定外界訪問的許可權 . 以上條件滿足達到弱不變模式 .
4. 不變類中所有方法都應該為final (針對java語言) , 也就是子類不能置換掉的方法 .
5. 不變類本身就是final (針對java語言) , 也就是不變類不能被繼承 , 不會有子類存在 . 以上五條件滿足達到強不變模式 .
弱不變模式的缺點
1. 不變類子類對象可以修改狀態 , 也就是不變類子類可以不為不變類 .
2. 不變類子類可以修改父類的狀態 , 從而不變類對象變為可變對象 .
不變模式優缺點
優點 : 不變對象比可變對象更加容易維護 .
不變對象是執行緒安全的 .
缺點 : 需要修改狀態時 , 就需要通過創建新對象來完成 .
相關詞條
-
設計模式
設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被...
簡介 設計框架 設計原則 基本模式 設計步驟 -
圖像不變
圖像是人對視覺感知的物質再現,一般多指數字圖像,即二維圖像用有限數字數值像素的表示。圖像不變是指圖像特徵往往具有平移、旋轉、比例、反射、亮度等方面不變的...
簡介 不變矩 圖像識別 數字水印 -
中國模式
中國模式的實質,乃是在全球化背景下,中華民族在中國共產黨領導下把科學社會主義原則與當代中國國情和時代特徵相結合,走出的一條後發國家的現代化之路。這是一條...
定義 淵源與發展 基本特質 基本經驗 政治智慧 -
設計模式[設計模式概念]
設計模式(Design Pattern)是一套被反覆使用、多數人知曉的、經過分類的、代碼設計經驗的總結。 使用設計模式的目的:為了代碼可重用性、讓代碼更...
簡介 設計框架 設計原則 基本模式 設計步驟 -
PFM[理財模式]
PFM是全國首推的一款零風險集散型實體新理財模式,打破傳統的高額原始資產投入方式,針對“理財不只是有錢人的專利,也是老百姓的現實夢想”之理念而研發麵市。...
PFM——新概念零風險商業理財新模式 烤瓷熔附金屬 脈衝調製技術 -
素質教育[教育模式]
素質教育是指一種以提高受教育者諸方面素質為目標的教育模式。它重視人的思想道德素質、能力培養、個性發展、身體健康和心理健康教育。素質教育與應試教育相對應,...
概述 背景 定義 實施策略 目標 -
混合模式
混合模式是圖像處理技術中的一個技術名詞,不僅用於廣泛使用的Photoshop中,也套用於AfterEffect、llustrator 、 Dreamwe...
原理 各種模式 變暗系 變亮系 飽和度系 -
黃岩島模式
黃岩島模式一詞產生於2012年期間,就是採取直接的手段不能夠解決,比如正面抗擊菲律賓軍隊的話,能力不夠,就只好採取間接的,效果可能慢一些的,發動軍隊及以...
概述 介紹 -
廣東模式
汪洋2007年主政廣東後,“廣東模式”浮出水面,廣東模式就是“深圳模式”的推而廣之。汪洋書記看到了廣東的困境,表面上是經濟發展面臨挑戰,其實是政治思想觀...
深圳&廣東 具體內容 重慶PK廣東 關注模式之爭