物件導向的基本原則 與 設計模式

來源:互聯網
上載者:User

標籤:使用   strong   問題   代碼   時間   應用   

設計原則是一種指導性,比較抽象的理念。而設計模式是為了實現設計原則的一種良好的實踐經驗。

 

在接觸了一段時間物件導向的程式設計後。不可不學的首先就是設計模式。使用設計模式的目的就是使代碼變得更加的清晰,易讀,易理解,可重用,可拓展,已維護。

他所帶來的好處多多,付出的代價可能只是寫代碼時需要多寫幾行。相對於以上的優點,這點代價是微不足道的。

 

在我看來。實際上並不存在固定的設計模式。設計模式只是對 物件導向的基本原則 的一種良好的實現或者說是一種經驗總結,這種經驗的總結可以是多樣的。(當然,這種實現也會有瑕疵,有利必利弊嘛)。甚至沒學過設計模式的人也可能用過設計模式,但那僅僅是無意識的,這種實踐並不會經常出現。

 

 

遵循設計原則,可以使我們的軟體更具靈活性,強壯性。但靈活是需要付出代價的,由多態帶來的效能損失就是最明顯的一個問題。所以我們需要權衡,需要做出選擇,在靈活與效能之間做出選擇。


追本溯源,促使我們使用這些原則的原因是為了滿足需求的變更,於是需求分析就顯得格外重要。然而不管怎麼充分的需求分析都可能遭遇需求變更,於是預測變化就成了一個讓人頭痛的事。還是讓我們來看看敏捷設計(XP)是怎麼解決這些問題的:"敏捷開發人員不會對一個龐大的預先設計應用那些原則和模式,相反,這些原則和模式被應用在一次次的迭代中,力圖使代碼以及代碼所表達的設計保持乾淨。"也就是說敏捷設計通過快速的迭代來刺激變化,讓這些變化及早暴露,再根據變化進行相應改動。很明顯這要比一次性完整設計輕鬆容易的多。


軟體開發的全部藝術就是權衡:在簡單與複雜之間權衡,在一種方案與另一種方案之間權衡。如果把每個問題、每個權衡的利弊都考慮得清清楚楚,恐怕開發一個應用程式的成本會高得驚人。所以,很多時候我們更依賴自己的審美眼光,用平靜的心去設計一個賞心悅目的系統。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.