亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

初讀設(shè)計模式-《design pattern exp

時間:2023-04-27 14:11:07 讀后感 我要投稿
  • 相關(guān)推薦

初讀設(shè)計模式-《design pattern explained》讀后感

從網(wǎng)上淘來了一本《design pattern explained》,用了半個月的時間細(xì)細(xì)的讀完了這本書。

本打算單單的從技術(shù)角度進(jìn)行總結(jié)的,但是卻全然沒有頭緒。說說自己的粗淺的感悟吧。書里沒有把23中設(shè)計模式全部羅列出來,擺上類圖和源代碼,恩,這樣的做法在作者看來很傻。作者說,將目標(biāo)集中在設(shè)計模式解決問題本身上"only tells us what to do but not when to use and why to do it"是的,我們需要的應(yīng)該是思考的過程和方法,而不是前人留給我們的思考結(jié)果。從這個角度講,設(shè)計模式里我們應(yīng)該學(xué)到什么?設(shè)計模式是一組偉大的思想結(jié)晶。我們的出發(fā)點(diǎn)是應(yīng)對可能出現(xiàn)和已經(jīng)出現(xiàn)的需求,并且降低未來的維護(hù)難度。我們使用的技術(shù)手段是面向?qū)ο。所以,我們要學(xué)習(xí):究竟什么是面向?qū)ο?為什么要面向?qū)ο?怎么面向?qū)ο?

初讀設(shè)計模式-《design pattern explained》讀后感

面向?qū)ο蟛皇欠庋b繼承多態(tài)。面向?qū)ο笾父嬖V甚至我們,封裝繼承多態(tài)不是他最big idea--message passing才是!但是message passing也僅僅是看到了表面而已,message passing體現(xiàn)了一個很重要的觀點(diǎn)--an object should responsible for themselves!而且這只是管中窺豹,我們還可以看到更多的東西。為什么要面向?qū)ο?面向?qū)ο笫刮覀兊拇a易于書寫和維護(hù)。不要以為using namespace或者encapsulation就是易于書寫和維護(hù),真正的易于書寫是指,當(dāng)我們編碼時思考的難度降低了,當(dāng)需求發(fā)生變化的時候我們所做的更改減少了。怎么面向?qū)ο?書中說要從三個角度考慮:conceptual level、specification level和implementation level從面向過程到面向?qū)ο笫挛锏陌l(fā)展難以擺脫否定之否定原理,程序設(shè)計也是如此。面向過程是很自然而然產(chǎn)生的一種設(shè)計思路,因為他符合了計算機(jī)處理問題的方式。但他有他固有的缺點(diǎn),其實可以把面向過程看成是高度耦合,松散內(nèi)聚的面向?qū)ο蟮脑O(shè)計方式。任何兩個對象,或者說模塊間都可以互相訪問對方的成員,模塊間分工并不明確,分工的依據(jù)是任務(wù)的完成順序。這樣一來我們處理問題會很頭疼,我們不得不小心翼翼的控制模塊不要錯誤的訪問數(shù)據(jù)。而某個模塊任務(wù)的完成可能會用到很多其他的模塊,當(dāng)某個模塊改動的時候,并不知道這會給其他的模塊帶來怎么樣的負(fù)面影響,就像作者說的"Like asnowball that picks up snow as it rolls downhill,a focus on functions leads to acascade of changes from which it is difficult to escape."那高內(nèi)聚,低耦合的面向?qū)ο笥钟惺裁春锰幠?面向?qū)ο罄锖苤匾囊粋特性是封裝,這個封裝不止是對數(shù)據(jù)的封裝,還包括對行為,對概念,對實現(xiàn)細(xì)節(jié)等等的封裝,盡可能的叫對象去負(fù)責(zé)屬于他的責(zé)任,而外部不需要關(guān)心的細(xì)節(jié)則一概隱藏起來,這似乎更加符合人的思路。這本書里不停的提到《the timeless way of building》,就像建筑一樣,房子是用來住的,作為用戶我們并不需要知道怎么去蓋這所房子,不需要知道房子的骨架--我們只負(fù)責(zé)住,房子只負(fù)責(zé)保護(hù)我們。傳統(tǒng)面向?qū)ο笈c新觀點(diǎn)下的面向?qū)ο髸胁煌5闹貜?fù)三個觀點(diǎn)(源自四人幫):Design to interfaces.封裝細(xì)節(jié),使使用者和被使用者都能更好的responsible for themselvesFavor composition over inheritance.防止類爆炸,提高內(nèi)聚。Find what varies and encapsulate it.封裝變化,應(yīng)對可能的需求變更。書中余下的篇幅都是在介紹幾種設(shè)計模式,里面詳細(xì)應(yīng)用到了這幾個觀點(diǎn)。設(shè)計模式這一部分我不敢太多的贅述,我還沒能將這些模式應(yīng)用到實踐中來。稍作粗淺的總結(jié)吧。可能有很多錯誤的理解,希望諸位看官能幫我糾正~the facde pattern:封裝復(fù)雜的接口或者不需要被外部了解的細(xì)節(jié),對外提供一個簡單的接口。the adaptar pattern:封裝不同的類,使他們具有相同的對外的接口,方便使用。the bridge pattern:概念和實現(xiàn)分離,說實話,這個我真沒理解,求解釋。the abstract factory pattern:由控制器負(fù)責(zé)對象類型的選擇,工廠負(fù)責(zé)生產(chǎn)相應(yīng)的對象。隱藏對象合成的細(xì)節(jié)。the strategy pattern:這個模式很好的實現(xiàn)了兩個原則"合成復(fù)用"和"封裝變化"。將可能出現(xiàn)的變化封裝起來,在原對象中組合該封裝該變化的對象,靠一個config對象來控制策略的選擇。the decorator pattern:這個模式的本質(zhì)是裝飾類的功能,在實現(xiàn)原有類的基礎(chǔ)上實現(xiàn)新的功能?木有理解,求解釋。the singleton pattern:無須多言,保證只存在一個實例。the observer pattern:說白了就是一群對象盯著消息隊列,監(jiān)聽到自己能處理的消息就做出相應(yīng)的行動。the template method pattern:木有理解。the factory pattern:工廠是抽象的,只定義了子類需要實現(xiàn)什么功能,具體怎么實現(xiàn),由子類決定。

【初讀設(shè)計模式-《design pattern exp】相關(guān)文章:

設(shè)計模式心得體會09-23

設(shè)計模式心得體會8篇03-10

初下雪的說說02-26

初計劃作文02-21

初憶的作文10-07

關(guān)于初的作文03-15

戰(zhàn)勝拖拉:等死模式與穿越模式 -管理資料04-07

什么是場景模式03-23

開學(xué)初情況總結(jié)01-06

初升的太陽作文06-07