設計模式學習心得(2018-09-03)

到目前爲止我總結了三種模式了,這些模式,以及之後要總結的模式的使命就是爲了解耦和代碼複用。
設計模式學習心得(2018-09-03)

什麼叫解耦?

就是降低類與類之間的依賴程度(通常的說法)。其實這麼說也不太準確,舉個例子,小明是炒菜的廚子(假 設小明就只負責炒菜),小剛是切菜的廚子(同樣也只負責切菜)。那麼說讓你降低小明對小剛的依賴,在抽象一點說,讓你 降低炒菜與切菜之前的依賴。 現在問題一目瞭然,我們可以降低小明對小剛的依賴,因爲我們可以讓小紅,小綠,小某某甚至發明切菜機器。小剛就可以 滾蛋了。反之,依然。更甚者,倆人都可以滾蛋。都用機器。 但是,只要我們想要一盤香噴噴的炒菜,那麼,我們就不可能降低炒菜對切菜的依賴。所以說解耦,是降低實例或是具體 實現方式之間的依賴,而目的性的(或者說是功能性的)依賴沒有方法降低。換而言之,解耦就是炒菜的對象只關心切好的菜 而不用關心切菜的對象。

什麼是代碼複用呢?

顧名思義,代碼複用就是對一段代碼重複使用。定義一個方法,然後重複調用。然後我們又設計了支持面向對象的語言,將 變量和方法(函數)封裝在類裏,前者叫做屬性,後者叫做方法(函數)。所以一個類就是由方法和屬性構成的。在面向對象 的設計模式裏,要做好代碼複用,就要儘量保證類的屬性和方法的擴展性。

閒談程序

談一下自己對程序的一個理解。狹義的程序就是用來處理數據的一套流程。而廣義的程序就是爲處理一件 事情而設計的流程。現實世界中到處都是流程(程序),有天然形成的(吃),有認爲設計的(祭祀,股票開戶)。以祭祀爲 例子: 祭祀 [1] 共分九個儀程,即迎神、奠玉帛、進俎、初獻、亞獻、終獻、撤饌、送神、望燎等。 每進行一項儀程,“皇帝”都要分別向正位、各配位、各從位行三跪九叩禮,從迎神至送神要下跪 70多次、叩頭200多下 其實“皇帝”就是變量也是對象(對象屬於變量)。我們的電子計算機程序也是如此。在沒有辦法獲知具體數據的情況下, 用變量代替具體數據(泛指一切)是人類的一大發明(或者說 代數 是人類的一個偉大發明),這能讓我們在未獲取數據之前, 設計好一整套程序來處理數據以達到我們的目標。

閱讀原文:貓撲魚

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章