久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2021|回復: 0
打印 上一主題 下一主題
收起左側(cè)

設計模式初階段總結(jié)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:75926 發(fā)表于 2015-4-2 22:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    寒假回家原計劃是好好摸摸ANDROID的,結(jié)果因為手賤拿錯書搞了范例大全回家,一水兒的范例代碼,只能用來當手冊或者習題冊,想學點理論的話這玩意兒不適合,所以就擱置了。還好順手帶了本講設計模式的書回來,姑且看一看,小小總結(jié)一下第一階段的學。

    我堅信,一切所謂的思想和方法都是在建立在一種本質(zhì)和基礎之上的,那就是要以最短時間開發(fā)出最優(yōu)秀的產(chǎn)品。話雖然說的沒錯,作為學生的我,那種脫離實際的學生式的空想讓我忽略了很多十分重要的東西。比如說,實際開發(fā)過程,接手一個項目,不可能像學校里做試卷那樣是個定死的題目,而是一串時刻都在變化的需求(夸張了點,大方向基本不會變,小變化經(jīng)常出現(xiàn))。再比如說,實際開發(fā)過程并不會是單打獨斗,而是和諸位同僚一起共事合作,這種情況下的程序設計不可能任自己天馬行空,如何跟他人的代碼恰接是個十分關鍵的問題。

    結(jié)合這幾點和某次實際的經(jīng)驗,感觸很深。覺得那種“土方法”編程是不可能在實踐中得以生存的(自己隨手編個小程序那不叫實踐,我說的是日后工作時干的項目)。書上曾有一文以”代碼無錯就是優(yōu)?“為開頭,我覺著很能警示人。面對書上提出的種種異常苛刻的編程環(huán)境,我無從下手。但我很清楚,這并不只是假設,是作者自身十幾年工作歷程中經(jīng)常會出現(xiàn)的很現(xiàn)實的情況。

    說了很多廢話,先談談對最根本的思想”依賴倒轉(zhuǎn)原則“和”高內(nèi)聚,低耦合“的理解。首先這兩個概念非常精辟地概括了OO中的最重要的注意事項。也正是這兩個概念才能使得OO比之傳統(tǒng)的編程有其過人之處,而不會只是一種沒有意義的只是為了標新立異的概念而已。根據(jù)我的理解,沒有這兩個概念支持下的OO編程不回歸C語言式的面向過程的老路子而不必很裝逼地面向?qū)ο蟆性诿枋鲆陨蟽蓚概念的過程中不斷讓我想到電腦主板這樣一個很具象的事物。之所以這么認為是因為我覺得,最完美的OO編程就好比是這么一臺電腦,一個程序就是這臺使用中的機箱。如何構建這樣一臺可以使用的機箱?先做一個基礎,或者可以稱其為框架,就像主板。主板上有各種插槽,以實現(xiàn)其功能為目的的各種插槽。再往上面插上各種需要的模塊,通過電路或者導線或者其他什么的連接在一起,就可以使用。這樣做的一個顯而易見的好處就是:某一模塊壞了不必把整臺電腦都廢了換新的,顯卡壞了換顯卡,內(nèi)存壞了換內(nèi)存,僅此而90已。而且買電腦的時候選購顯卡并不需要考慮內(nèi)存是怎么樣的,是什么樣的牌子或者型號,只要考慮是否跟主板上的插槽對應的起來就行(當然有點絕對,實際配電腦的時候還是很有講究的,這里只是一種理想情況,稍后會有說明);待到買內(nèi)存的時候也只需要考慮是否能對應得上內(nèi)存插槽。如果國際上有一個統(tǒng)一的規(guī)范和標準的話,全世界所有的廠商都可以盡情地生產(chǎn)通用的設備,而不需要定制,這也是電腦硬件發(fā)展如此迅速的主要原因之一。
    扯遠了,言歸正傳。以上的例子就是”高內(nèi)聚,低耦合“的體現(xiàn)——顯卡內(nèi)聚度極高,但是卻不與搭載在主板之上的其他設備相耦合,一切看起來是這么完美和令人興奮。但也可以看出來,這條原則要求的是盡可能高的內(nèi)聚和盡可能低的耦合,絕對而純粹的內(nèi)聚是不存在的,沒有耦合也是不可能的。就好比買顯卡的時候總不能太過分,總應該與其他外設處于同一水平層面,否則電腦將出現(xiàn)很多意想不到的情況。

    關于依賴倒轉(zhuǎn),我理解的還很不足,至少應用到實踐中還是十分生疏困難甚至于無從下手。依賴倒轉(zhuǎn)講究的是編程要面向接口依賴接口而不能依賴具體的實現(xiàn)和細節(jié)。關于這個概念我自己也有一個例子。比如說金字塔,那么高的堆起來,上面的石頭壓在下面的石頭上,可以比作上面的石頭緊密的依賴著下面的石頭。如果提出來要換一層的石頭,那么如果要換最底層的石頭的話,毫無疑問,整座金字塔都要拆了然后才能換;如果是要換最高層的石頭,直接換了就成,工作量差距之大顯而易見。我覺得軟件開發(fā)就是堆疊金字塔,但是按本文開頭所說的”需求時刻在變化“這一觀點來看,如果不謹慎處理變化,很有可能就要面對拆了整座金字塔或者大部分金字塔的窘境了。為了避免這種慘劇,需要把最不容易變化的放在最下面,而最容易變化的放在最頂上,這樣皆大歡喜。而越是抽象的類或?qū)ο螅渥兓目赡苄跃驮降汀_@也正是面向?qū)ο髤^(qū)別于面向過程的最顯著的特征,他們之間的差距也正是以這點最為顯著。

    說了很多,沒有一句談到二十三種模式中的任何一種,因為我覺得那是沒有必要的。我一直的思想也是種依賴倒轉(zhuǎn):把絕大多數(shù)精力花在最為本質(zhì)的概念和思想上,而把具體的實現(xiàn)方式和具象的存在放在稍微次要的位置。實際并不是考試,實踐中所有東西都是開放的,沒必要死記硬背什么,但是那些思想,必須深深地印在腦海里,骨髓里,永遠傳唱……

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕在线免费视频 | 久久综合亚洲 | 亚洲精品免费看 | 日韩欧美在线视频观看 | 二区三区在线观看 | 美女操操操| 日本少妇做爰全过程毛片 | 久久精品99国产国产精 | 欧美一区二区视频在线观看 | 免费一级a毛片 | 成人欧美激情 | 成人黄色在线 | 少妇精品视频 | 成人午夜影院 | 中文在线永久免费观看 | 国产精品666| 天天操夜夜干 | 伊人久久在线 | 毛片毛片毛片毛片毛片毛片 | 死神来了4无删减版在线观看 | 一区二区三区四区视频 | 4438成人网| av中文在线 | 成人激情av | 黑人精品一区二区 | 香蕉av在线 | 欧美大片91 | 刘玥大战28公分黑人 | 日韩国产一区 | 热久久久久 | 国产美女自拍 | 久久一二三区 | 国产一级一片免费播放放a 男男成人高潮片免费网站 精品视频在线观看 | 亚洲影视一区 | 久久精品欧美一区二区 | 成人女同在线观看 | 国产无精乱码一区二区三区 | 日本少妇做爰全过程毛片 | 热久久久久 | 蜜桃色一区二区三区 | 黄色片免费看 |