不變模式可增強對象的強壯性(robustness)。不變模式允許多個對象共享某一對象,降低對該對象進行并發(fā)訪問的同步化開銷。如果需要修改一個不變對象的狀態(tài),就需要建立一個新的同類型對象,并在創(chuàng)建時將這個新的狀態(tài)存儲在新對象里。
站在用戶的角度思考問題,與客戶深入溝通,找到高淳網(wǎng)站設計與高淳網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設計制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋高淳地區(qū)。
不變模式之設計一個類。一個類的內(nèi)部狀態(tài)創(chuàng)建后,在整個生命期內(nèi)都不會發(fā)生變化時,這個類被稱為不變類。這種使用不變類的做法叫作不便模式。
弱不變模式:一個類的實例狀態(tài)不可改變,但是子類的實例具有可能會變化的狀態(tài)。
對象沒有任何方法可以修改對象的狀態(tài)
所有的屬性都應該是私有的
對象所引用的其他對象如果是可變對象的話,必須設法限制外界對這些對象的訪問,以防止外界修改這些對象。如果可能,應該盡量在不變對象內(nèi)部初始化這些被引用到的對象,而不要在客戶端初始化。如果必須在 客戶端初始化,就應該考慮在不變對象初始化的時候,適用這個可變對象的復制。
強不變模式:一個類的實例不可改變,子類的實例也不可改變
所有的弱不變模式的條件(必選)
類所有的方法都應當是final,這樣這個類的子類不能夠換掉此類的方法(2,3選項必選一個)
這個類本身就是final的,不存在子類(2,3選項必選一個)
優(yōu)點:
易維護,避免程序錯誤
線程安全
缺點:
如果需要修改狀態(tài),必須修建對象,可能造成資源浪費。
網(wǎng)站名稱:Java與模式不變模式Immutablepattern
分享路徑:http://m.2m8n56k.cn/article26/sscdjg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、品牌網(wǎng)站制作、定制開發(fā)、虛擬主機、網(wǎng)站維護、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)