国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java與模式 不變模式 Immutable pattern

2019-11-17 04:18:01
字體:
來源:轉載
供稿:網友

不變模式可增強對象的強壯性(robustness)。不變模式允許多個對象共享某一對象,降低對該對象進行并發訪問的同步化開銷。如果需要修改一個不變對象的狀態,就需要建立一個新的同類型對象,并在創建時將這個新的狀態存儲在新對象里。

不變模式之設計一個類。一個類的內部狀態創建后,在整個生命期內都不會發生變化時,這個類被稱為不變類。這種使用不變類的做法叫作不便模式。

弱不變模式:一個類的實例狀態不可改變,但是子類的實例具有可能會變化的狀態。

對象沒有任何方法可以修改對象的狀態
所有的屬性都應該是私有的
對象所引用的其他對象如果是可變對象的話,必須設法限制外界對這些對象的訪問,以防止外界修改這些對象。如果可能,應該盡量在不變對象內部初始化這些被引用到的對象,而不要在客戶端初始化。如果必須在 客戶端初始化,就應該考慮在不變對象初始化的時候,適用這個可變對象的復制。
強不變模式:一個類的實例不可改變,子類的實例也不可改變

所有的弱不變模式的條件(必選)
類所有的方法都應當是final,這樣這個類的子類不能夠換掉此類的方法(2,3選項必選一個)
這個類本身就是final的,不存在子類(2,3選項必選一個)
優點:

易維護,避免程序錯誤
線程安全
缺點:

如果需要修改狀態,必須修建對象,可能造成資源浪費。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尖扎县| 理塘县| 石嘴山市| 忻城县| 武清区| 呈贡县| 浠水县| 申扎县| 满洲里市| 鹿泉市| 于田县| 沭阳县| 乌苏市| 沅江市| 黑龙江省| 潼关县| 安达市| 凤山市| 青冈县| 淮安市| 河间市| 岳普湖县| 澄迈县| 潼南县| 德钦县| 永吉县| 平江县| 陇川县| 开江县| 罗源县| 阜南县| 黄冈市| 福建省| 诸暨市| 武川县| 霍山县| 十堰市| 岐山县| 繁峙县| 大庆市| 焦作市|