青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-34  評(píng)論-108  文章-0  trackbacks-0
    抽象是一種以簡(jiǎn)化的形式來(lái)看待復(fù)雜操作的能力,類(lèi)的接口為隱藏在其后的具體實(shí)現(xiàn)提供了一種抽象,類(lèi)的接口應(yīng)能提供一組明顯相關(guān)的子程序。
    如果類(lèi)的接口不能展現(xiàn)出一直的抽象,那么它的內(nèi)聚性就很弱,應(yīng)該考慮把一些子程序重新組織到只能更專(zhuān)一的類(lèi)里去,在這些類(lèi)的接口中提供更好的抽象。
    對(duì)創(chuàng)建類(lèi)的抽象接口的指導(dǎo)建議:
   (1)類(lèi)的接口應(yīng)該展現(xiàn)一致的抽象層次:在考慮類(lèi)的時(shí)候有一種很好的方法,就是把類(lèi)安坐一種用來(lái)實(shí)現(xiàn)ADT的機(jī)制。每個(gè)類(lèi)應(yīng)該實(shí)現(xiàn)一個(gè)ADT,并且僅實(shí)現(xiàn)這個(gè)ADT,如果你發(fā)現(xiàn)某個(gè)類(lèi)實(shí)現(xiàn)了不止一個(gè)ADT,或者你不能確定究竟它實(shí)現(xiàn)了何種ADT,就應(yīng)該把這個(gè)類(lèi)重新組織為了一個(gè)或多個(gè)更加明確的ADT。
   (2)一定要理解類(lèi)所實(shí)現(xiàn)的抽象是什么。
   (3)提供成對(duì)的服務(wù):大多數(shù)操作都有和其對(duì)應(yīng)的、相等的以及相反的操作,如果有一個(gè)操作用來(lái)把燈打開(kāi),那么很可能也需要另一個(gè)操作來(lái)把燈關(guān)閉。在設(shè)計(jì)一個(gè)類(lèi)的時(shí)候,要檢查每一個(gè)公用子程序,決定是否需要另一個(gè)與其互補(bǔ)的操作。不要盲目的創(chuàng)建相反操作,一定要考慮,看看是否需要它。
   (4)盡可能讓接口可編程,而不是表達(dá)語(yǔ)義:每個(gè)接口都有一個(gè)可編程的部分和一個(gè)語(yǔ)義部分組成,可編程的部分由接口中的數(shù)據(jù)類(lèi)型和其他屬性構(gòu)成,編譯器能強(qiáng)制性的在編譯時(shí)檢查錯(cuò)誤,而語(yǔ)義部分則是由“本接口將會(huì)被怎樣使用”的假定組成,而這些是如法通過(guò)編譯器來(lái)強(qiáng)制實(shí)施的。
   (5)謹(jǐn)防在修改時(shí)破壞接口的抽象性。
   (6)不要添加與接口抽象不一致的公用成員:每次向類(lèi)添加子程序時(shí),問(wèn)問(wèn)“這個(gè)子程序與現(xiàn)有接口所提供的抽象一直嗎?”如果發(fā)現(xiàn)不一致,就要換另一種方法來(lái)進(jìn)行修改,以便能夠保持抽象的完整性。
   (7)同時(shí)考慮抽象性和內(nèi)聚性:一個(gè)呈現(xiàn)出很好的抽象的類(lèi)接口通常也有很高的內(nèi)聚性【如果一個(gè)類(lèi)表現(xiàn)出很好的抽象性,那么接口一定是朝著一致的方向努力的,從而會(huì)具有很好的內(nèi)聚性】。而具有很強(qiáng)的內(nèi)聚性的類(lèi)往往也會(huì)呈現(xiàn)為很好的抽象,但是關(guān)系不如前者強(qiáng)烈。一般關(guān)注類(lèi)的抽象性比關(guān)注類(lèi)的內(nèi)聚性更有助于理解類(lèi)的設(shè)計(jì)。 
   封裝是一個(gè)比抽象更強(qiáng)的概念,抽象通過(guò)提供可以讓你忽略實(shí)現(xiàn)細(xì)節(jié)的模型來(lái)管理復(fù)雜度,而封裝則強(qiáng)制阻止你看到細(xì)節(jié)。抽象和封裝是緊密相關(guān)的,沒(méi)有封裝,則抽象就容易被打破。一般而言,要么封裝與抽象兩者皆有,要么就是兩者皆失。
   (1)盡可能的限制類(lèi)和成員的可訪(fǎng)問(wèn)性:讓可訪(fǎng)問(wèn)性盡可能低是促成封裝的原則之一。
   (2)不要公開(kāi)暴露成員數(shù)據(jù):暴露成員數(shù)據(jù)會(huì)破壞封裝性,從而限制你對(duì)這個(gè)抽象的控制能力?!救绻┞读顺蓡T數(shù)據(jù),就不知道何時(shí)數(shù)據(jù)被修改了】
   (3)避免把私用的實(shí)現(xiàn)細(xì)節(jié)放入類(lèi)的接口中。
   (4)不要對(duì)類(lèi)的使用者做出任何假設(shè):類(lèi)的設(shè)計(jì)和實(shí)現(xiàn)應(yīng)該符合在類(lèi)的接口中所隱含的契約。不應(yīng)該對(duì)接口會(huì)被如果使用或不會(huì)被如何使用做出任何假設(shè)。
   (5)避免使用友元類(lèi):一般情況下,友元類(lèi)會(huì)破壞封裝,因?yàn)樗屇阍谕粫r(shí)刻需要考慮更多的代碼量,從而增加復(fù)雜度。
   (6)不要因?yàn)橐粋€(gè)子程序里僅使用了公用子程序,就把它歸入公開(kāi)接口:一個(gè)子程序僅僅使用公用的子程序這一事實(shí)并不是十分重要的考慮因素。相反,應(yīng)該問(wèn)的問(wèn)題是,把這個(gè)子程序暴露給外界后,接口所展示的抽象是否還是一致的。
   (7)讓閱讀代碼比編寫(xiě)代碼更方便:閱讀代碼的次數(shù)要比編寫(xiě)代碼的次數(shù)多的多,即使在開(kāi)發(fā)的初期。
   (8)要警惕從語(yǔ)義上破壞封裝性:每當(dāng)你發(fā)現(xiàn)自己是通過(guò)查看那類(lèi)的內(nèi)部實(shí)現(xiàn)來(lái)得知如何使用這個(gè)類(lèi)的時(shí)候,你就不是在針對(duì)接口編程了,而是在透過(guò)接口針對(duì)內(nèi)部實(shí)現(xiàn)編程了,如果你透過(guò)接口來(lái)編程的話(huà),封裝性就被破壞了,而一旦封裝性開(kāi)始遭到破壞,抽象能力就快遭殃了。
   (9)留意過(guò)于緊密的耦合關(guān)系。
   耦合性與抽象和封裝性有著非常緊密的聯(lián)系,緊密的額耦合性是發(fā)生在抽象不嚴(yán)禁或者封裝性遭到破壞的時(shí)候,如一個(gè)類(lèi)提供了一套不完整的服務(wù),其他的子程序就可能要去直接讀寫(xiě)該類(lèi)的內(nèi)部數(shù)據(jù),這樣一來(lái),就把類(lèi)給拆開(kāi)了,把他從一個(gè)黑合盒子變成了一個(gè)玻璃合資,從而事實(shí)上消除了類(lèi)的封裝性。
posted on 2007-09-26 09:16 探丫頭 閱讀(993) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): 《代碼大全》讀書(shū)筆記

評(píng)論:
# re: 第6章 可以工作的類(lèi)(2) 2007-09-26 17:18 | 夢(mèng)在天涯
都是有點(diǎn)抽象的!

偶爾來(lái)個(gè)實(shí)例也不錯(cuò)的餓!  回復(fù)  更多評(píng)論
  
# re: 第6章 可以工作的類(lèi)(2) 2007-09-27 09:16 | 探丫頭
呵呵,理論懂了,實(shí)例自然就會(huì)寫(xiě)了  回復(fù)  更多評(píng)論
  
# re: 第6章 可以工作的類(lèi)(2) 2007-09-30 23:00 | Minidx全文檢索
恩,抽象出來(lái)的理論比較具有指導(dǎo)性
實(shí)例只不過(guò)是抽象的一種實(shí)現(xiàn)方式  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲资源在线观看| 亚洲免费成人av| 久久久久在线观看| 午夜精品视频在线观看一区二区| 一本一道久久综合狠狠老精东影业| 亚洲成人在线免费| 欧美日韩精品一区二区| 欧美久久成人| 欧美性色综合| 国产日韩精品视频一区| 国产欧美日韩免费| 黄色免费成人| 日韩午夜剧场| 国产拍揄自揄精品视频麻豆| 欧美一区二区精美| 久久久福利视频| 欧美成人高清| 亚洲精品国精品久久99热一| 亚洲深夜福利视频| 久久精品在线播放| 欧美日韩精品久久| 国产亚洲精品aa| 99精品黄色片免费大全| 欧美一区视频| 亚洲国产成人在线视频| 亚洲免费在线观看视频| 欧美成人资源| 国产综合色一区二区三区| 夜夜嗨av一区二区三区免费区| 欧美在线高清视频| 亚洲日韩第九十九页| 欧美在线视频播放| 国产精品v欧美精品v日韩精品| 激情欧美一区| 欧美一级片一区| 亚洲免费福利视频| 久久一区二区三区四区| 国产精品视频九色porn| 亚洲精品美女91| 久久久免费精品视频| 亚洲深爱激情| 欧美日韩亚洲三区| 亚洲日韩欧美一区二区在线| 久久久久久97三级| 一区二区三区四区五区在线| 欧美成人精品一区二区| 黄色av成人| 久久精品一区二区三区中文字幕| 一本色道久久综合亚洲精品高清| 美日韩丰满少妇在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 欧美在线观看一区| 亚洲免费在线观看视频| 国产乱码精品1区2区3区| 亚洲一区二区成人| 亚洲精品综合久久中文字幕| 蜜桃精品久久久久久久免费影院| 亚洲影视九九影院在线观看| 欧美顶级艳妇交换群宴| 国产精品久久久久久久久久妞妞| 国产伦精品一区二区三区视频孕妇| 亚洲人在线视频| 麻豆精品传媒视频| 欧美亚洲一区二区在线| 国产精品久久久久一区二区三区| 一区二区三区久久| 亚洲精品无人区| 欧美人与性动交cc0o| 99精品视频免费观看| 亚洲精品女av网站| 久久视频一区| 亚洲人成在线播放| 最新亚洲激情| 欧美午夜在线视频| 亚洲欧美一区二区三区在线| 日韩一区二区精品| 国产精品乱子久久久久| 欧美一区二视频在线免费观看| 亚洲在线一区二区| 国产一区免费视频| 欧美二区在线观看| 欧美日韩国产在线播放| 香蕉久久夜色精品国产| 欧美在线视频二区| 亚洲精品一区二区三区蜜桃久| 亚洲精品国产精品久久清纯直播| 欧美日韩专区| 久久久91精品国产一区二区三区 | 欧美视频在线免费看| 亚洲欧美日韩在线不卡| 欧美在线观看视频在线| 亚洲人成久久| 亚洲女女女同性video| 精品99一区二区| 亚洲毛片在线看| 国语自产精品视频在线看8查询8| 亚洲电影免费观看高清完整版| 欧美体内she精视频| 久久天堂av综合合色| 欧美日韩不卡在线| 久久综合狠狠| 欧美体内谢she精2性欧美| 久久精品系列| 欧美日精品一区视频| 狂野欧美一区| 国产精品中文字幕欧美| 亚洲国产天堂久久综合| 国产综合亚洲精品一区二| 亚洲免费观看| 亚洲国产精品激情在线观看| 欧美 日韩 国产一区二区在线视频| 亚洲最新中文字幕| 亚洲男人的天堂在线| 亚洲激情偷拍| 欧美在线高清视频| 亚洲一区在线免费| 欧美国产激情二区三区| 久久久另类综合| 国产精品一区二区视频| 亚洲欧洲在线观看| 在线观看欧美黄色| 亚洲欧美在线高清| 亚洲免费一在线| 欧美日韩国产首页| 91久久久久| 亚洲精品中文字幕有码专区| 久久久久中文| 久久综合亚州| 激情亚洲网站| 久久久久亚洲综合| 欧美jizz19hd性欧美| 国内精品久久久久伊人av| 亚洲欧美国产视频| 午夜精品免费在线| 国产精品免费观看视频| 一本不卡影院| 亚洲伊人伊色伊影伊综合网 | 国产精品mm| 日韩亚洲成人av在线| 99re6这里只有精品| 欧美剧在线观看| 亚洲精品美女91| 亚洲女女女同性video| 国产精品海角社区在线观看| 一本久道久久综合中文字幕| 亚洲影院污污.| 国产欧美日韩综合一区在线观看| 亚洲男女自偷自拍图片另类| 久久精品中文字幕免费mv| 国产一本一道久久香蕉| 久久成人免费| 欧美xxxx在线观看| 亚洲免费av网站| 国产精品福利影院| 欧美一级免费视频| 久久亚洲高清| 亚洲区在线播放| 国产精品videosex极品| 欧美一区二区免费观在线| 美女露胸一区二区三区| 日韩小视频在线观看专区| 欧美色欧美亚洲另类七区| 亚洲一区二区成人在线观看| 久久久久se| 亚洲欧洲精品一区二区三区| 欧美日韩国产综合在线| 性欧美xxxx大乳国产app| 欧美福利视频在线| 亚洲一区二区在线免费观看视频| 国产午夜精品理论片a级大结局| 久久视频这里只有精品| 一区二区三区www| 久久久一二三| 亚洲视频精选| 狠狠色丁香婷综合久久| 欧美精品在线视频| 午夜在线观看免费一区| 亚洲国产欧美在线| 久久www成人_看片免费不卡| 午夜国产精品视频免费体验区| 亚洲黄色一区二区三区| 国产精品国产福利国产秒拍| 久久久高清一区二区三区| 亚洲最新在线| 欧美激情视频网站| 久久精品视频免费| 亚洲无人区一区| 亚洲欧洲日韩在线| 国内精品视频在线播放| 欧美四级伦理在线| 欧美大片免费| 久久久久久久久久看片| 亚洲免费在线播放| 99国产精品视频免费观看| 美女诱惑一区| 久久都是精品| 午夜亚洲一区| 亚洲一区在线观看免费观看电影高清| 亚洲国产日韩在线| 国色天香一区二区|