發表文章

目前顯示的是 4月, 2017的文章

DesignPattern Principle

關於設計模式原則,有的按照solid原則總結,有的說六原則,大家都總結的都不一致。 今天這裡把我理解的設計模式幾大原則給大家分享一下: 單一職責原則 開閉原則 接口分離原則 里氏代換原則 依賴倒置原則 迪米特原則 優先使用組合,而不是使用繼承 單一職責原則 定義:不要存在多於一個導致類變更的原因。 通俗的說,即單一職責是說一個類或者一個方法,只做一件事,或者完成一個任務。 問題由來:類T負責兩個不同的職責:職責Z1,職責Z2。 當由於職責Z1需求發生改變而需要修改類T時,有可能會導致原本運行正常的職責Z2功能發生故障。 解決:遵循單一職責原則。 分別建立兩個類T1、T2,使T1完成職責Z1功能,T2完成職責Z2功能。 這樣,當修改類T1時,不會使職責Z2發生故障風險;同理,當修改T2時,也不會使職責Z1發生故障風險。 舉例說明: 用一個類描述動物行走的 public class Animal { public void run ( String str ) { System . out . println( " 行走 " + str); } } public class Client { public static void main ( String [] args ) { Animal animal = new Animal (); animal . run( " 牛 " ); animal . run( " 羊 " ); } } 運行了一下後,發現不對哈。 魚等水生的動物是不能行走的,那麼怎麼辦呢? 所以我們要修改一下,遵循單一職責原則,讓陸生動物使用Terrestrial 這個類;而水生動物使用Aquatic 這個類。 class Terrestrial { public void run ( String animal ){ System . out . println(animal + " 陸地行走 " ); } } class Aqu