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

2021-04-02 07:01:59 字數 1508 閱讀 8002

物件導向的設計原則

1)「開-閉」原則(open-closed principle, 或者ocp)

software entities should be open for extension, but closed for modification

2)黎克特制代換原則(liskov substitution principle, 或者lsp)

如果對每乙個型別為t1的物件o1, 都有型別為t2的物件o2, 使得以t1定義的所有程式p在所有的物件o1都代換成o2時, 程式p的行為沒有變化,那麼型別t2是型別t1的子型別

3)依賴倒轉原則(dependency inversion principle, 或者dip)

abstraction should not depend upon details. details should depend upon abstractions

4)介面隔離原則(inte***ce segregation principle, 或者isp)

使用多個專門的介面比使用單一的總介面要好

5)合成/聚合復用原則(composition/aggregation reuse principle, 或者carp)

要盡量使用合成/聚合, 盡量不要使用繼承

6)迪公尺特法則(law of demeter, 或者lod)

least knowledge principle, lkp

only talk to your immediate friends

don't talk to strangers

設計模式

一、建立模式

1)簡單工廠模式(****** factory)

3)抽象工廠模式(abstract factory)

4)單例模式(singleton)

5)多例模式(multiton)

6)建造模式(builder)

7)原型模式(prototype)

二、結構模式

1)介面卡模式(adapter)

2)預設介面卡模式(default adapter)

3)合成模式(composite)

4)裝飾模式(decorator)

5)**模式(proxy)

6)享元模式(flyweight)

7)門面模式(facade)

8)橋梁模式(bridge)

三、行為模式

1)不變模式(immutable)

2)策略模式(strategy)

3)模板方法模式(template method)

4)觀察者模式(observer)

5)迭代子模式(iterator)

6)責任鏈模式(chain of responsibility)

7)命令模式(command)

8)備忘錄模式(memento)

9)狀態模式(state)

10)訪問者模式(visitor)

11)直譯器模式(interpreter)

12)調停者模式(mediator)

物件導向設計模式學習(一) 物件導向設計模式與原則

1。軟體設計模式是一些常見問題的一般解決案。2。物件導向設計模式是在物件導向開發中描述物件之間資訊通訊的組織關係。3。面象物件的三個特點 封裝 內部實現的隱藏 繼承 實現 復用 多型 改寫物件的行為 4。實現封裝,繼承,多型並不代表就是乙個面象物件模式設計,是面象物件模式的設計才導致了封裝,繼承,多...

物件導向設計原則 java設計模式(一)

單一職責原則 開閉原則 黎克特制替換原則 依賴倒轉原則 介面隔離原則 合成復用原則 迪公尺特法則 確保可復用性。實現設計方案或者源 的復用。乙個類的職責越多,被復用的可能性越小。當其中乙個職責變化時,可能會影響到其他職責的運作。因此需要職責分離。重構版本 拆分為3個類。基類可以設計為抽象類 介面,增...

Java面向過程與物件導向的思維模式

如果面對複雜的事情,這種思維模式會陷入令人發瘋的狀態!比如 如何造神舟十號!物件導向的思維模式 說白了就是分類思維模式。思考問題首先會解決問題需要哪些分類,然後對這些分類進行單獨思考。最後,才對某個分類下的細節進行面向過程的思索。這樣就可以形成很好的協作分工。比如 設計師分了10個類,然後將10個類...