設計模式筆記

2021-06-08 17:12:14 字數 862 閱讀 9563

''設計模式精解p136,第11章:專家如何進行設計''

alexander提到:''從片段開始設計不是乙個好的設計方法。即將預先成型的部分新增在一起是無法得到優秀的軟體設計的。''(但還是可以得到可以工作的軟體的,只是大部分時候難於修改或擴充套件)

''我的觀點:''

軟體或者軟體系統都是由''功能模組''和這些''模組之間的聯絡''組成的。模組包括''通用模組''和''業務模組'',通用模組一般都是已經存在的,甚至一些業務模組都有現成的可供使用。(''模組是容易獲得的'')

在傳統的設計方法中,關注的焦點都集中在功能模組上,往往認為只要組成系統的功能模組都開發完成,則軟體或者系統就已經完成了。這種做法忽視了更重要的另乙個組成部分:''模組之間的聯絡。(模組間的聯絡是不容易設計的)''

忽視模組之間的聯絡造成的惡果之一就是系統''脆弱''和''難於修改''。

傳統的軟體設計:湊齊所需的功能模組,然後組裝在一起,能正常工作即可。

用模式的方法思考的軟體設計:自頂向下的設計,關注軟體模組間的聯絡,並採用迭代的方式,從小和簡單的系統開始,逐漸設計處複雜的系統。在此過程中,不斷有模組加進來以擴充系統的功能,設計的重點不是模組的功能,而是模組之間的聯絡,以保證系統內模組間的聯絡一直保持堅固而靈活,不會隨著模組的增多而變得混亂。

保持模組間的聯絡堅固而靈活,這正是設計模式要做的事情。

當軟體規模較小的時候,功能是重點,功能模組的開發是工作的中心。而且小規模的軟體模組較少,之間的聯絡也少,自然不需要過多的關注。

隨著使用者需求的增加,軟體規模也來越大,其中的模組也越來越多,而且多年的開發,現成的模組比較容易獲得,需要自己開發的功能模組並不多。這時設計的重點要轉移到模組間的聯絡上來,糟糕的模組間的聯絡會導致脆弱和難於修改的系統,也不容易擴充套件系統的功能。......

設計模式筆記

1 類繼承與介面繼承的比較。物件的類與物件的型別的比較 乙個物件的類定義了物件怎麼樣實現的,同時也定義物件內部狀態和操作的實現。但是物件的型別只與他的介面有關,藉口即物件能響應的請求的集合。乙個物件可以有多個型別,不同的類物件可以有相同的型別。理解類繼承和介面繼承之間的差別也十分重要。類繼承根據乙個...

設計模式筆記

設計模式是一種真理,我們在沒有學習過設計模式時都會或多或少的與他不謀而合,但是學習過後我們可以把他從經驗性的東西提煉為理論性的,並且反過來再指導實踐,這應該就是我們學習並使用設計模式的初衷,這好比是政經中的價值規律,任何人都知道東西如果少了而需求大,它 馬上就漲,而反過來 就賤,可是學過政經後就可以...

設計模式筆記

黎克特制替換原則 父類能出現的地方,子類也能出現 子類盡量避免 個性 一旦把子類當作父類使用時子類的 個性 被抹殺掉 避免紛爭,規則壓制 子類繼承父類,如果子類要過載父類的方法,該方法的引數型別範圍要大於等於父類,返回引數要小於父類的返回型別 這樣避免混淆 依賴倒轉原則 1 建構函式傳遞依賴物件 p...