設計模式讀後感-持續更新

    看過好多設計模式,可是工做中用到面向過程的語言,設計模式就不多用到了,目前換了工做,設計模式又得從新撿起來了。 算法

    1.軟件愈來愈腐爛的緣由有如下4點:僵硬,脆弱,複用率低,耦合度高。 數據庫

    僵硬:這個的意思就很難修改,無從下手,好比好多時候咱們須要維護一個運行了好多年的軟件,須要添加新功能,你就很不情願,由於很差改啊,只能和客戶溝通,想辦法解決,由於你怕改出問題來; c#

    脆弱:脆弱是什麼意思呢?就是你改了以後,出現問題了,一改就出問題,不是脆弱是什麼,怕的是你在改的時候考慮到了一些問題,就怕沒考慮全,而後這問題找不到,又得回退等等。 設計模式

    複用性低:好多人都知道這個詞,其實只是模棱連可的理解表層意思,舉個例子來說,作個一改顯示list的c#客戶端節目,須要從數據庫提取數據顯示出來,剛開始看到這個方法裏面和界面上的table緊耦合了,因此好多時候咱們不得不從新複製粘貼,提取出來一個新的方法,這就是複用性低,爲何不弄成通用的,本身在上層封裝再用?所以軟件內的東西會愈來愈冗餘,臃腫。 數據結構

    耦合度高:好多人都耦合度高的理解是沒有分模塊啊,分層啊,其實不盡然,簡單來說,不是那回事,你要想,這回致使什麼問題!!!正常的講,拿數據庫鏈接來舉例,咱們會在底層封裝好多東西,而後在上層使用,有時候分層沒有作好,那麼好多人就會跳過度層,是跳過,直接使用下層的方法,由於這樣方便啊。會節省時間。用句科學術語就是:若是使用一個權宜之計會比一個對將來發展有利的方法更快速的開發的話,那麼就說明耦合度太高了。 設計

      2.好的系統的性質:對應以上的1,2,4點:可擴張性,靈活性,可插入性。 排序

      3.複用模式: 開發

          a)傳統複用模式;複製粘貼;算法複用,不多有人寫排序算法了;數據結構的複用,好比list等等。 table

      4..複用性高的好處:下降成本:複用的模塊越多,你就越不須要開發這個模塊,能夠去作別的事情了,老版就會省勞動力,多報價,等等了。 軟件

      設計原則的目的是什麼?是爲了提升複用性和可維護性。這兩點作好了,就很是好!後面開始介紹設計原則以及設計模式!

--------------------------持續更新,公司的輸入法跟我不對口,所以有錯字,歡迎你們指正,謝謝!

相關文章
相關標籤/搜索