接口在使用后,不需要也不允許用戶銷毀
接口用來通訊的。雖然在C++中,接口的一般用指針實(shí)現(xiàn),但它代表的是一種通訊方式,而不是資源的
位置。請求者在使用完后不應(yīng)去直接銷毀這個(gè)指針,而應(yīng)由接口的提供者去管理。
接口的提供者要管理接口關(guān)聯(lián)的實(shí)體的生命周期,而且還有知道接口的使用情況才能管理接口。
接口于實(shí)體之間有關(guān)聯(lián),這表明實(shí)體要在接口前創(chuàng)建,要在接口后銷毀。設(shè)計(jì)中接口提供者通過接口的
計(jì)數(shù),來管理接口的狀態(tài)。有一個(gè)請求者就將接口計(jì)數(shù)增加一,接口每被賦值一次接口計(jì)數(shù)也增加一次
。
接口的使用者在使用完后,要將接口返回給接口提供者,而不是自己直接銷毀。因?yàn)榻涌诓皇潜皇褂谜?br>申請的資源,而是用戶要求另一個(gè)對象通訊的通道。所以用完后要返還給接口提供者。接口提供者每接
到一個(gè)接口的返還,就減少這個(gè)接口的計(jì)數(shù)一次。
在要銷毀接口關(guān)聯(lián)的實(shí)體時(shí),先要檢查這個(gè)接口是否還有使用者,如果有,就要通知使用者,要求它們
返還接口。在接口沒有使用者的情況下常能銷毀實(shí)體(這樣比較安全,當(dāng)然也可以強(qiáng)行銷毀)。
同一個(gè)接口可能對應(yīng)多個(gè)實(shí)體,不過用戶是感覺不到的。但是接口提供者一定要管理這種接口于不同的
實(shí)體之間的關(guān)聯(lián)關(guān)系,保證對不同的實(shí)體銷毀時(shí),要收回與這個(gè)實(shí)體關(guān)聯(lián)的所有接口。
posted on 2007-08-07 09:49
walkspeed 閱讀(1886)
評論(1) 編輯 收藏 引用 所屬分類:
C++語言 、
設(shè)計(jì)