久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
設(shè)計(jì)模式初階段總結(jié)
[打印本頁]
作者:
xiaos
時(shí)間:
2015-4-2 22:03
標(biāo)題:
設(shè)計(jì)模式初階段總結(jié)
寒假回家原計(jì)劃是好好摸摸ANDROID的,結(jié)果因?yàn)槭仲v拿錯(cuò)書搞了范例大全回家,一水兒的范例代碼,只能用來當(dāng)手冊(cè)或者習(xí)題冊(cè),想學(xué)點(diǎn)理論的話這玩意兒不適合,所以就擱置了。還好順手帶了本講設(shè)計(jì)模式的書回來,姑且看一看,小小總結(jié)一下第一階段的學(xué)。
我堅(jiān)信,一切所謂的思想和方法都是在建立在一種本質(zhì)和基礎(chǔ)之上的,那就是要以最短時(shí)間開發(fā)出最優(yōu)秀的產(chǎn)品。話雖然說的沒錯(cuò),作為學(xué)生的我,那種脫離實(shí)際的學(xué)生式的空想讓我忽略了很多十分重要的東西。比如說,實(shí)際開發(fā)過程,接手一個(gè)項(xiàng)目,不可能像學(xué)校里做試卷那樣是個(gè)定死的題目,而是一串時(shí)刻都在變化的需求(夸張了點(diǎn),大方向基本不會(huì)變,小變化經(jīng)常出現(xiàn))。再比如說,實(shí)際開發(fā)過程并不會(huì)是單打獨(dú)斗,而是和諸位同僚一起共事合作,這種情況下的程序設(shè)計(jì)不可能任自己天馬行空,如何跟他人的代碼恰接是個(gè)十分關(guān)鍵的問題。
結(jié)合這幾點(diǎn)和某次實(shí)際的經(jīng)驗(yàn),感觸很深。覺得那種“土方法”編程是不可能在實(shí)踐中得以生存的(自己隨手編個(gè)小程序那不叫實(shí)踐,我說的是日后工作時(shí)干的項(xiàng)目)。書上曾有一文以”代碼無錯(cuò)就是優(yōu)?“為開頭,我覺著很能警示人。面對(duì)書上提出的種種異常苛刻的編程環(huán)境,我無從下手。但我很清楚,這并不只是假設(shè),是作者自身十幾年工作歷程中經(jīng)常會(huì)出現(xiàn)的很現(xiàn)實(shí)的情況。
說了很多廢話,先談?wù)剬?duì)最根本的思想”依賴倒轉(zhuǎn)原則“和”高內(nèi)聚,低耦合“的理解。首先這兩個(gè)概念非常精辟地概括了OO中的最重要的注意事項(xiàng)。也正是這兩個(gè)概念才能使得OO比之傳統(tǒng)的編程有其過人之處,而不會(huì)只是一種沒有意義的只是為了標(biāo)新立異的概念而已。根據(jù)我的理解,沒有這兩個(gè)概念支持下的OO編程不回歸C語言式的面向過程的老路子而不必很裝逼地面向?qū)ο蟆性诿枋鲆陨蟽蓚(gè)概念的過程中不斷讓我想到電腦主板這樣一個(gè)很具象的事物。之所以這么認(rèn)為是因?yàn)槲矣X得,最完美的OO編程就好比是這么一臺(tái)電腦,一個(gè)程序就是這臺(tái)使用中的機(jī)箱。如何構(gòu)建這樣一臺(tái)可以使用的機(jī)箱?先做一個(gè)基礎(chǔ),或者可以稱其為框架,就像主板。主板上有各種插槽,以實(shí)現(xiàn)其功能為目的的各種插槽。再往上面插上各種需要的模塊,通過電路或者導(dǎo)線或者其他什么的連接在一起,就可以使用。這樣做的一個(gè)顯而易見的好處就是:某一模塊壞了不必把整臺(tái)電腦都廢了換新的,顯卡壞了換顯卡,內(nèi)存壞了換內(nèi)存,僅此而90已。而且買電腦的時(shí)候選購顯卡并不需要考慮內(nèi)存是怎么樣的,是什么樣的牌子或者型號(hào),只要考慮是否跟主板上的插槽對(duì)應(yīng)的起來就行(當(dāng)然有點(diǎn)絕對(duì),實(shí)際配電腦的時(shí)候還是很有講究的,這里只是一種理想情況,稍后會(huì)有說明);待到買內(nèi)存的時(shí)候也只需要考慮是否能對(duì)應(yīng)得上內(nèi)存插槽。如果國(guó)際上有一個(gè)統(tǒng)一的規(guī)范和標(biāo)準(zhǔn)的話,全世界所有的廠商都可以盡情地生產(chǎn)通用的設(shè)備,而不需要定制,這也是電腦硬件發(fā)展如此迅速的主要原因之一。
扯遠(yuǎn)了,言歸正傳。以上的例子就是”高內(nèi)聚,低耦合“的體現(xiàn)——顯卡內(nèi)聚度極高,但是卻不與搭載在主板之上的其他設(shè)備相耦合,一切看起來是這么完美和令人興奮。但也可以看出來,這條原則要求的是盡可能高的內(nèi)聚和盡可能低的耦合,絕對(duì)而純粹的內(nèi)聚是不存在的,沒有耦合也是不可能的。就好比買顯卡的時(shí)候總不能太過分,總應(yīng)該與其他外設(shè)處于同一水平層面,否則電腦將出現(xiàn)很多意想不到的情況。
關(guān)于依賴倒轉(zhuǎn),我理解的還很不足,至少應(yīng)用到實(shí)踐中還是十分生疏困難甚至于無從下手。依賴倒轉(zhuǎn)講究的是編程要面向接口依賴接口而不能依賴具體的實(shí)現(xiàn)和細(xì)節(jié)。關(guān)于這個(gè)概念我自己也有一個(gè)例子。比如說金字塔,那么高的堆起來,上面的石頭壓在下面的石頭上,可以比作上面的石頭緊密的依賴著下面的石頭。如果提出來要換一層的石頭,那么如果要換最底層的石頭的話,毫無疑問,整座金字塔都要拆了然后才能換;如果是要換最高層的石頭,直接換了就成,工作量差距之大顯而易見。我覺得軟件開發(fā)就是堆疊金字塔,但是按本文開頭所說的”需求時(shí)刻在變化“這一觀點(diǎn)來看,如果不謹(jǐn)慎處理變化,很有可能就要面對(duì)拆了整座金字塔或者大部分金字塔的窘境了。為了避免這種慘劇,需要把最不容易變化的放在最下面,而最容易變化的放在最頂上,這樣皆大歡喜。而越是抽象的類或?qū)ο螅渥兓目赡苄跃驮降汀_@也正是面向?qū)ο髤^(qū)別于面向過程的最顯著的特征,他們之間的差距也正是以這點(diǎn)最為顯著。
說了很多,沒有一句談到二十三種模式中的任何一種,因?yàn)槲矣X得那是沒有必要的。我一直的思想也是種依賴倒轉(zhuǎn):把絕大多數(shù)精力花在最為本質(zhì)的概念和思想上,而把具體的實(shí)現(xiàn)方式和具象的存在放在稍微次要的位置。實(shí)際并不是考試,實(shí)踐中所有東西都是開放的,沒必要死記硬背什么,但是那些思想,必須深深地印在腦海里,骨髓里,永遠(yuǎn)傳唱……
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩精品极品视频在线观看免费
|
中国av在线播放
|
国产精品久久一区二区三区
|
人人草人人爱
|
操操影院
|
av在线天堂网
|
亚洲精品自拍视频
|
国产一级在线观看
|
国产精品99久久久久久久久
|
国产精品国产精品国产专区不片
|
亚洲成人精品一区
|
av在线视
|
午夜不卡视频
|
亚洲伊人av
|
岛国精品在线播放
|
国产精品高潮呻吟
|
成人三级视频在线观看
|
色综合视频在线观看
|
成人欧美在线
|
黄色www.
|
国产一区二区不卡
|
av久久久
|
九一九色国产
|
欧美在线视频免费
|
中文字幕av久久爽av
|
亚洲综合自拍
|
国产亚洲区
|
手机看片福利永久
|
久久九九精品
|
日韩精品网
|
欧美精产国品一二三区
|
国产成人精品久久久
|
久草免费福利视频
|
精品视频免费观看
|
久草精品视频在线看网站免费
|
欧美福利一区二区
|
国产欧美精品一区二区色综合
|
成人在线播放视频
|
亚洲综合区
|
亚洲一级在线
|
国产一区二区福利
|