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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1961|回復: 0
打印 上一主題 下一主題
收起左側

設計模式初階段總結

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

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

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

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

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

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

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区中文字幕 | 久久久久国产精品免费免费搜索 | 亚洲av毛片成人精品 | 国产三级精品视频 | 成人在线中文字幕 | 亚洲 欧美 日韩 在线 | 国产免费福利在线 | 亚洲精品黄色 | 亚州毛片| 国产成人网 | 国产日产精品一区二区三区四区 | 人妖无码 | 狠狠操在线 | 超碰97av | 91在线成人 | 人人干在线视频 | av一级一片 | 黄网站在线播放 | 日韩av第一页 | 精品在线一区 | 成人国产网站 | 精品欧美激情精品一区 | 综合九九| 国产一区二区欧美 | 国产不卡视频 | 国产999精品久久久久久 | 久久99精品久久久久久国产越南 | 久久精品国产一区二区电影 | 欧美www在线 | 日日夜夜精品视频 | 久草网在线视频 | 国产日韩91 | 中文字幕国产精品 | 色综合视频 | 日韩最新网址 | 精品国产一区二区三区性色 | 日韩一区二区在线视频 | 欧美成人精品一区二区男人看 | 国产三级大片 | 日本精品久久久久 | 久久久久国产一区二区三区 |