Head First Design Pattern 讀書筆記(1) 策略模式

Head First Design Pattern 讀書筆記(1) Strategy Pattern 策略模式

這幾天爲了鍛鍊看英語文檔的能力,開着有道硬着頭皮看 《Head First Desgin Pattern》的原版書,順便作下筆記,把裏面提到的每一個模式經過回憶的方式畫出來複習並記下來總結下學習成果=。= ##關於設計模式java

  1. 使用設計模式是爲了加強程序的複用性,拓展性,易維護性。
  2. 設計模式會增長程序代碼的複雜度,並非全部狀況都必須使用設計模式,須要根據需求以及經驗評估使用場景。
  3. 學習並掌握設計模式後不會大幅提升編程水平(笑),可是日常寫代碼時應該多用面向對象思惟考慮一下。
  4. 設計模式可讓程序員之間溝通更簡潔準確。(好比說,碼農a:「這兩個類是一對多的關係,這種調用關係應該用觀察者模式」。碼農b:「ok,我知道怎麼搞了」 而不是balabala一大堆代碼怎麼寫)

##Strategy Pattern 類圖 策略模式類圖 ##定義 策略模式:經過接口定義一類抽象的算法(這裏的算法能夠認爲是某類操做或方法)集合,讓這個集合下的每種算法都是獨立可變化,互不影響的。策略模式使調用方能夠靈活的使用某類算法集合下的各類算法。程序員

##幾個OO的原測算法

  1. 封裝變化的部分。-->總結變化與不變的地方,將變化的部分經過抽象封裝出來。
  2. 儘可能使用組合(has a)而不是繼承(is a)。-->組合比繼承更加「鬆耦合」,並且某些語言(如java)只能單一繼承,過分使用繼承,將致使程序不容易擴展,修改子類功能會動到父類等狀況。
  3. 針對接口編程,而不是針對實現編程。-->接口相對於具體的某個類更加抽象,針對接口編程,可使用多態(polymorphism)的方式讓程序更加靈活,好比經過依賴注入的方式在運行時更改對象內的變量。(Spring IOC就是這麼幹的)
相關文章
相關標籤/搜索