設計模式(1)

設計模式(1)

設計原則

面向對象編程要點:算法

(1) OO 基礎: 抽象,封裝,多態,繼承。編程

(2) OO 原則:封裝變化; 多用組合,少用繼承; 針對接口編程,不針對實現編程。設計模式

(3) OO 模式:如,策略模式,定義了算法族,分別封裝起來,讓它們之間能夠互相替換,此模式讓算法
的變化獨立使用算法的客戶。設計

  • 設計原則一
找出應用中可能須要變化之處,把它們獨立起來,不要和那些不須要的變化的代碼混在一塊兒。
  • 設計原則二
針對接口編程,而不是針對實現編程。

「針對接口編程」真正的意思是「針對超類型(supertype)編程」。「接口」有多個含義,接口是一個「概念」,
也是一種Java的interface構造。另外,也能夠不涉及 Java interface 的狀況下,「針對接口編程」,
關鍵就在多態。code

  • 設計原則三
多用組合,少用繼承
  • 設計原則四:依賴倒置
要依賴抽象,不要依賴具體類。

這個原則說明:不能讓高層組件依賴底層組件,並且,無論高層或低層組件,「二者」都應該依賴於抽象。
避免 OO 設計中違反依賴倒置原則:
(1)變量不能夠此有具體的引用。
(2)不要讓類生自具體類。
(3)不要覆蓋基類中的已實現的方法。對象

  • 設計原則五:最少知識原則
你都要注意它所交互的類有哪些,並注意它和這些類如何交互的。不要讓太多的類 耦合在一塊兒,省得
修改一部分,
會影響到其餘的部分。

調用如下範圍的方法:

(1) 對象自己
(2) 被當作方法的參數而傳遞進來的對象
(3) 此方法所建立或實例化的任何對象
(4) 對象的任何組件繼承

例:

public float getTemp(){
Thermoeter thermoeter = station.getTherometer();
return thermoeter.getTemperature();
}接口

修改:

public float getTemp(){
return station.getTemperature();//加入一個方法,減小一個類的依賴。
}
```get

  • 設計原則六:好萊塢原則 別調用咱們,咱們會調用你。
相關文章
相關標籤/搜索