• <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>

            冰果

            技術(shù)群:26678700     
            交流QQ: 704839634
            合作: 1) 可兼職遠(yuǎn)程辦公開(kāi)發(fā); 2) 有一套Go+Python開(kāi)發(fā)的行業(yè)短信云平臺(tái)可合作;3)目前正在開(kāi)發(fā)物聯(lián)網(wǎng)、大數(shù)據(jù)平臺(tái)。

            簡(jiǎn)單理解: 面向?qū)ο蟮脑O(shè)計(jì)原則與設(shè)計(jì)模式

                記得2004年剛接觸設(shè)計(jì)模式,買(mǎi)了經(jīng)典的<<設(shè)計(jì)模式>>一書(shū),細(xì)細(xì)地閱讀,然后在開(kāi)發(fā)中模仿。一兩年時(shí)間過(guò)去,對(duì)23種設(shè)計(jì)模式弄得還算比較熟悉,也在軟件設(shè)計(jì)中能用則用,比如Singleton, template method, proxy, facade等等。但總感覺(jué)用的不爽,當(dāng)時(shí)也說(shuō)不出原因;就是感覺(jué)在使用的過(guò)程中,是一種為了使用設(shè)計(jì)模式而使用上他們,有時(shí)候是生搬硬套。總之,自己當(dāng)時(shí)是搞不清楚為什么要使用設(shè)計(jì)模式,停留在別人說(shuō)它牛,我就學(xué)著用而不落人之后。
                我不是一個(gè)天質(zhì)聰穎的人,對(duì)軟件設(shè)計(jì)的理解,基本上無(wú)法評(píng)自己能力單獨(dú)領(lǐng)悟出來(lái)。只有常常督促自己多買(mǎi)國(guó)內(nèi)外軟件專(zhuān)家寫(xiě)的好書(shū),來(lái)學(xué)習(xí)他們?cè)谶@些方面的發(fā)現(xiàn)和總結(jié)。靠后天學(xué)習(xí)來(lái)彌補(bǔ)先天不足,也是沒(méi)有辦法中的辦法。
                終于在2007年看到了<<java與模式>>,書(shū)中對(duì)設(shè)計(jì)模式的討論,并沒(méi)有特別吸引我的地方,不過(guò)是用java語(yǔ)言來(lái)詳細(xì)講解23種模式而已,最多增加一些變體。深深吸引我的是"第二部分 面向?qū)ο蟮脑O(shè)計(jì)原則",這一部分雖然篇幅不多,但清晰地說(shuō)明了我們?yōu)槭裁匆迷O(shè)計(jì)模式,使用設(shè)計(jì)模式是來(lái)解決什么問(wèn)題的,使用之后我們要達(dá)到什么效果。軟件的生命周期讓我們認(rèn)識(shí)到,面向?qū)ο蟮脑O(shè)計(jì)要解決的核心問(wèn)題是可維護(hù)性和可復(fù)用性,特別是可維護(hù)性,一個(gè)好軟件的維護(hù)成本遠(yuǎn)遠(yuǎn)大于初期開(kāi)發(fā)成本。
                一個(gè)軟件設(shè)計(jì)的可維護(hù)性很差,原因在于:過(guò)于僵硬、過(guò)于脆弱、復(fù)用率低、黏度過(guò)高。相反,一個(gè)好的系統(tǒng)設(shè)計(jì)應(yīng)該是可擴(kuò)展的、靈活的、可插入的。在軟件發(fā)達(dá)國(guó)家如美國(guó),一些軟件界的高手,在20世紀(jì)80~90年代,就陸續(xù)提出一些設(shè)計(jì)原則,這些設(shè)計(jì)原則是在提高一個(gè)系統(tǒng)的可維護(hù)性的同時(shí),提高系統(tǒng)的可復(fù)用性的指導(dǎo)原則:
                1、開(kāi)閉原則:軟件架構(gòu)應(yīng)該是對(duì)擴(kuò)展開(kāi)發(fā),對(duì)修改關(guān)閉
                2、Liskov替換原則:任何基類(lèi)可以出現(xiàn)的地方,子類(lèi)一定可以出現(xiàn)
                3、依賴(lài)倒轉(zhuǎn)原則:要依賴(lài)于抽象,不要依賴(lài)于實(shí)現(xiàn)
                4、接口隔離原則:應(yīng)當(dāng)為客戶(hù)提供盡可能小的接口,而不是提供大的接口。
                5、組合、聚合復(fù)用原則:要盡量使用組合、聚合,而不是繼承關(guān)系以達(dá)到復(fù)用的目的。
                6、Demeter法則:一個(gè)軟件實(shí)體應(yīng)該與盡可能少的其他實(shí)體發(fā)生互相作用。
                可以說(shuō),<<java與模式>>里很好的解決了我心中兩三年來(lái)的不快,讓我真正理解了為什么要使用設(shè)計(jì)模式。軟件開(kāi)發(fā)、設(shè)計(jì)原則與設(shè)計(jì)模式的關(guān)系,我不恰當(dāng)?shù)谋扔鳛閼?zhàn)爭(zhēng)、戰(zhàn)略與戰(zhàn)術(shù)的關(guān)系;要取得戰(zhàn)爭(zhēng)的全面勝利,你首先要在戰(zhàn)略上把握好,然后才是戰(zhàn)術(shù)上指揮好;同樣,要開(kāi)發(fā)出好的軟件,我們首先要遵循一定的設(shè)計(jì)原則,為了達(dá)到我們的目的,在開(kāi)發(fā)中我們就恰當(dāng)?shù)氖褂孟鄳?yīng)的設(shè)計(jì)模式。
                <<java與模式>>寫(xiě)的好,而且是中國(guó)人寫(xiě)的,但它缺少了一個(gè)方面的描述:我們?cè)鯓釉趯?shí)際的設(shè)計(jì)開(kāi)發(fā)中做到這些呢?是不是一開(kāi)始就要遵循這些設(shè)計(jì)原則,就要使用設(shè)計(jì)模式?還是有一個(gè)什么樣的過(guò)程?
                終于今年初看到了英文版<<敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐>>,國(guó)外這些大牛就是大牛,在這方面就是理解深刻,實(shí)踐經(jīng)驗(yàn)豐富。作者的觀點(diǎn)很有點(diǎn)唯物辨證法,就是軟件設(shè)計(jì)開(kāi)始時(shí),我們?nèi)绻麤](méi)有看出抽象的必要,可以先實(shí)現(xiàn)一個(gè)簡(jiǎn)單的,當(dāng)?shù)谝淮伪恍枨笥|發(fā)而顯現(xiàn)出抽象的必要時(shí),我們這時(shí)機(jī)會(huì)就來(lái)了,需要很快提取抽象接口,遵循以上設(shè)計(jì)原則。當(dāng)然,作者還有很多其它好的思想,這里不一一列舉。
                認(rèn)識(shí)和理解都需要一個(gè)過(guò)程,沒(méi)有理論,我們這些智商一般的人是很難僅僅在項(xiàng)目開(kāi)發(fā)中盡快提高的;同樣,光看書(shū)不實(shí)踐,我們也很難真正理解這些別人總結(jié)的經(jīng)驗(yàn),那將是霧里看花。
                豐富經(jīng)驗(yàn)和軟件設(shè)計(jì)思想以及軟件工程思想,對(duì)軟件開(kāi)發(fā)的重要性真的是如此重要,怪不得我們國(guó)家無(wú)法開(kāi)發(fā)出大型的高質(zhì)量的軟件來(lái)。

            posted on 2010-12-19 00:38 冰果 閱讀(302) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 其它

                                                        
            久久精品国产91久久综合麻豆自制| 久久国产成人| 一本久久知道综合久久| 亚洲精品无码久久千人斩| 久久久噜噜噜久久| 久久久久久久波多野结衣高潮| 成人午夜精品无码区久久| 精品免费久久久久久久| 精品久久国产一区二区三区香蕉| 亚洲欧洲精品成人久久奇米网| 色诱久久久久综合网ywww| 国产成人精品久久| 精品综合久久久久久97| 91久久九九无码成人网站| 久久综合久久美利坚合众国| 久久久精品国产sm调教网站 | 囯产精品久久久久久久久蜜桃| 亚洲精品美女久久777777| 亚洲国产精品久久久久网站| 国产69精品久久久久9999APGF| 久久成人精品| 久久狠狠色狠狠色综合| 亚洲欧洲日产国码无码久久99| 国内精品免费久久影院| 91精品国产乱码久久久久久| 久久精品国产99国产精品导航| 99久久精品免费| 久久亚洲国产欧洲精品一| 精品久久久久久无码专区不卡| 伊人久久成人成综合网222| 999久久久国产精品| 热re99久久精品国产99热| 午夜天堂av天堂久久久| 久久久久成人精品无码 | 国产精品久久久久久五月尺| 91超碰碰碰碰久久久久久综合| 久久青青草原亚洲av无码app | 欧美日韩中文字幕久久伊人| 国产精品久久久久久久久鸭| 久久99精品久久只有精品| 国产V综合V亚洲欧美久久|