(1)所有數(shù)據(jù)都應(yīng)該隱藏在所在的類的內(nèi)部。
(2)類的使用者必須依賴類的共有接口,但類不能依賴它的使用者。
(3)盡量減少類的協(xié)議中的消息。
(4)實(shí)現(xiàn)所有類都理解的最基本公有接口[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內(nèi)容、從ASCII描述解析等等]。
(5)不要把實(shí)現(xiàn)細(xì)節(jié)(例如放置共用代碼的私有函數(shù))放到類的公有接口中。
如果類的兩個(gè)方法有一段公共代碼,那么就可以創(chuàng)建一個(gè)防止這些公共代碼的私有函數(shù)。
(6)不要以用戶無法使用或不感興趣的東西擾亂類的公有接口。
(7)類之間應(yīng)該零耦合,或者只有導(dǎo)出耦合關(guān)系。也即,一個(gè)類要么同另一個(gè)類毫無關(guān)系,要么只使用另一個(gè)類的公有接口中的操作。
(8)類應(yīng)該只表示一個(gè)關(guān)鍵抽象。
包中的所有類對于同一類性質(zhì)的變化應(yīng)該是共同封閉的。一個(gè)變化若對一個(gè)包影響,則將對包中的所有類產(chǎn)生影響,而對其他的包不 造成任何影響 .
(9)把相關(guān)的數(shù)據(jù)和行為集中放置。
設(shè)計(jì)者應(yīng)當(dāng)留意那些通過get之類操作從別的對象中獲取數(shù)據(jù)的對象。這種類型的行為暗示著這條經(jīng)驗(yàn)原則被違反了。
(10)把不相關(guān)的信息放在另一個(gè)類中(也即:互不溝通的行為)。
朝著穩(wěn)定的方向進(jìn)行依賴.
(11)確保你為之建模的抽象概念是類,而不只是對象扮演的角色。
(12)在水平方向上盡可能統(tǒng)一地分布系統(tǒng)功能,也即:按照設(shè)計(jì),頂層類應(yīng)當(dāng)統(tǒng)一地共享工作。
(13)在你的系統(tǒng)中不要?jiǎng)?chuàng)建全能類/對象。對名字包含Driver、Manager、System、Susystem的類要特別多加小心。
規(guī)劃一個(gè)接口而不是實(shí)現(xiàn)一個(gè)接口。
本新聞共
4頁,當(dāng)前在第
1頁
1 2 3 4