天天看點

進行面向對象設計的6條基本原則

      相信凡是做了幾年軟體開發的程式員都會有過這樣的感歎:“這個程式的耦合性太高了,根本無法修改,如果實在要擴充功能的話隻能重新寫過!”,“這一塊代碼太亂啦,我看了幾天還沒有搞明白!”,“新增加的這個功能,原來的那些代碼我們根本用不上啊!”。。。。。。

      這樣的感歎我是聽得比較多,尤其是在做維護工作或者是進行版本更新的情況下最常遇見。 導緻存在這些問題的根本原因在于那些系統的可擴充性和可複用性太低甚至是沒有。

      那我們究竟怎麼樣才能讓系統可以複用、可以擴充呢?

      我認為要達到這個目标,有如下幾個過程和步驟:1)有切膚之痛,并痛的體驗越深越好 2)有求知的欲望,願意探索未知的東西 3)有較為深厚的程式設計基礎,要徹底明白什麼是接口、什麼是抽象類 4)要深入了解OO設計的幾個基本原則 5)深入了解和領悟設計模式,特别是GOF的23個模式

      下面是我對什麼是接口、什麼是抽象類以及OO設計的幾個基本原則的學習心得和體會。

       什麼是接口?

       。。。。。。

       什麼是抽象類?

       。。。。。。

       OO設計原則有哪些?

       “開-閉”原則(Open-Closed Principle 或者OCP)

        裡氏代換原則(Liskov Substitution Principle 或者LSP)

        依賴倒轉原則(Dependency Inversion Principle 或者DIP)

        接口隔離原則(Interface Segregation Principle 或者ISP)

        組合/聚集原則(Composition/Aggregation Principle或者CARP)

        迪米特法則(Lawof Demeter 或者LoD )

繼續閱讀