不變模式可增強(qiáng)對(duì)象的強(qiáng)壯性(robustness)。不變模式允許多個(gè)對(duì)象共享某一對(duì)象,降低對(duì)該對(duì)象進(jìn)行并發(fā)訪問(wèn)的同步化開(kāi)銷。如果需要修改一個(gè)不變對(duì)象的狀態(tài),就需要建立一個(gè)新的同類型對(duì)象,并在創(chuàng)建時(shí)將這個(gè)新的狀態(tài)存儲(chǔ)在新對(duì)象里。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到高淳網(wǎng)站設(shè)計(jì)與高淳網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋高淳地區(qū)。
不變模式之設(shè)計(jì)一個(gè)類。一個(gè)類的內(nèi)部狀態(tài)創(chuàng)建后,在整個(gè)生命期內(nèi)都不會(huì)發(fā)生變化時(shí),這個(gè)類被稱為不變類。這種使用不變類的做法叫作不便模式。
弱不變模式:一個(gè)類的實(shí)例狀態(tài)不可改變,但是子類的實(shí)例具有可能會(huì)變化的狀態(tài)。
對(duì)象沒(méi)有任何方法可以修改對(duì)象的狀態(tài)
所有的屬性都應(yīng)該是私有的
對(duì)象所引用的其他對(duì)象如果是可變對(duì)象的話,必須設(shè)法限制外界對(duì)這些對(duì)象的訪問(wèn),以防止外界修改這些對(duì)象。如果可能,應(yīng)該盡量在不變對(duì)象內(nèi)部初始化這些被引用到的對(duì)象,而不要在客戶端初始化。如果必須在 客戶端初始化,就應(yīng)該考慮在不變對(duì)象初始化的時(shí)候,適用這個(gè)可變對(duì)象的復(fù)制。
強(qiáng)不變模式:一個(gè)類的實(shí)例不可改變,子類的實(shí)例也不可改變
所有的弱不變模式的條件(必選)
類所有的方法都應(yīng)當(dāng)是final,這樣這個(gè)類的子類不能夠換掉此類的方法(2,3選項(xiàng)必選一個(gè))
這個(gè)類本身就是final的,不存在子類(2,3選項(xiàng)必選一個(gè))
優(yōu)點(diǎn):
易維護(hù),避免程序錯(cuò)誤
線程安全
缺點(diǎn):
如果需要修改狀態(tài),必須修建對(duì)象,可能造成資源浪費(fèi)。