C#設計模式—概述篇

來源:互聯網
上載者:User
      設計模式似乎很時髦,但卻很實在,原因是他能使解決方案既優雅又簡單,又可複用.設計模式似乎說的很玄,事實上,設計模式僅僅是一些在項目之間和程式之間複用物件導向代碼的簡便方法.背後的思想很簡單,對通用的對象間的相互作用方式進行記錄和編目.來對於武術來講,這好比是套路,當然是經典還是MVC架構,架構的設計目標就是描述對象如何通訊才能不牽涉相互的資料模型和方法,其實跟軟體工程的高內聚低耦合的目標是一樣的,這也模式追求的目標,也是物件導向追求的目標

剛才提到低耦合,就是分離類,包括封裝和繼承,對於繼承,因為一個子類可以繼承父類的所有方法和所有非私人變數,所以一個基類不寫得太詳細,這是設計模式的一條原則

針對介面編程,而不是針對實現編程”

 

實際上,如果您做過winform並使用繼承的話,有時候你會感覺頭痛,因為C#只支援類的單繼承,如果您繼承的是表單,那麻煩大了,如果基類有任何問題的,你的子表單將不能重畫顯示

設計模式的第二條原則是

優先使用對象組合,而不是繼承

如何理解這句話,很簡單,還是實現低耦合的目標,去年的一個項目訊息系統中,就犯了這方面的錯誤,當時沒看這書吧

因為一個訊息系統中包括底層socket,命令直譯器,委託器,發送器,中介層以及GUI等,如果這方面的關係不處理好,做出來的系統結構相當差

如果您觀察一下設計模式的例子,特別是觀察者模式和中介者模式等,您會發現,它處處體現了上述兩條設計模式的原則,請再次記住他們

 

1. 針對介面編程,而不是針對實現編程

2. 優先使用對象組合,而不是繼承

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.