網頁

搜尋此網誌

2009年4月6日 星期一

Object-Oriented Programming物件導向程式設計

物件導向程式設計(Object-Oriented Programming, OOP)的特性,我們開宗明義來說。(教育部成語典:孝經首章篇名。說明全書宗旨義理。孝經˙開宗明義章˙邢昺˙疏:開,張也;宗,本也;明,顯也;義,理也。言此章開張一經之宗本,顯明五孝之義理,故曰開宗明義章也。引申指說話或寫文章一開始就揭明主旨綱要。如:請開宗明義的說明你的來意,不要拐彎抹角。)

OOP三大特性:(背起來!背起來!)
  • 封裝encapsulation
  • 繼承inheritance
  • 多型polymorphism(也有稱為"同名異式")
我覺得要把這三個特性記起來,常常學東西學到最後,都會忘了一些精神,沒有辦法列舉,不是我們不會,而是沒有辦法系統性的來說明,得靠一些書籍或資料來輔助,這表示缺乏組織歸納的能力。

另外,根據大話設計模式(作者:程杰)一書,OOP還有四大好處,分別是:可維護、可複用、可擴展、靈活性好。再重複一次:可維護、可複用、可擴展、靈活性好。(背起來!背起來!)

雖然還沒看完"大話設計模式",但越看越有心得,越看越有味!寫過程式的人應該都會有這種感覺,發出"對!就是這樣!"的讚嘆。這是難得一見的好書,好在於這本書是寫一般人(不是程式天才)看的,並且用許多生活實例來解釋映射!能夠使我們對於抽象的OOP有所體會。推崇...

來講一下書裡提到的物件導向設計觀念,總共有三個原則、一個法則,(原則跟法則差在哪裡...?)
  • 單一職責原則(Single-Responsibility Principle, SRP)
  • 開放封閉原則(Open-Closed Principle, OCP)
  • 依賴倒轉原則(Dependency-Inversion Principle, DIP)
  • 迪米特法則(Law of Demeter, LoD)
其實還有其他原則,不過在這本書(大話設計模式)裡面沒有提到,需要Google和查閱參考書籍。請參考"Agile Software Development, Principles, Patterns, and Practices "一書。


<僅供參考,這不是推銷>

沒有留言:

張貼留言

熱門文章