設計模式筆記

''設計模式精解P136,第11章:專家如何進行設計''
Alexander提到:''從片段開始設計不是一個好的設計方法。即將預先成型的部分添加在一起是無法得到優秀的軟件設計的。''(但還是可以得到可以工作的軟件的,只是大部分時候難於修改或擴展)


''我的觀點:''
    軟件或者軟件系統都是由''功能模塊''和這些''模塊之間的聯繫''組成的。模塊包括''通用模塊''和''業務模塊'',通用模塊一般都是已經存在的,甚至一些業務模塊都有現成的可供使用。(''模塊是容易獲得的'')
    在傳統的設計方法中,關注的焦點都集中在功能模塊上,往往認爲只要組成系統的功能模塊都開發完成,則軟件或者系統就已經完成了。這種做法忽視了更重要的另一個組成部分:''模塊之間的聯繫。(模塊間的聯繫是不容易設計的)''
    忽視模塊之間的聯繫造成的惡果之一就是系統''脆弱''和''難於修改''。


傳統的軟件設計:湊齊所需的功能模塊,然後組裝在一起,能正常工作即可。
用模式的方法思考的軟件設計:自頂向下的設計,關注軟件模塊間的聯繫,並採用迭代的方式,從小和簡單的系統開始,逐漸設計處複雜的系統。在此過程中,不斷有模塊加進來以擴充系統的功能,設計的重點不是模塊的功能,而是模塊之間的聯繫,以保證系統內模塊間的聯繫一直保持堅固而靈活,不會隨着模塊的增多而變得混亂。
保持模塊間的聯繫堅固而靈活,這正是設計模式要做的事情。


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


隨着用戶需求的增加,軟件規模也來越大,其中的模塊也越來越多,而且多年的開發,現成的模塊比較容易獲得,需要自己開發的功能模塊並不多。這時設計的重點要轉移到模塊間的聯繫上來,糟糕的模塊間的聯繫會導致脆弱和難於修改的系統,也不容易擴展系統的功能。......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章