1. 程式人生 > >設計模式總結(Java語言實現)

設計模式總結(Java語言實現)

有人說,為什麼要學習設計模式,有些設計模式寫起來十分複雜,在平時程式設計時不會刻意去使用它。但是,設計模式是程式碼規範的一種體現,學號設計模式併合理應用,可以避免bug的出現,增強程式碼的魯棒性,便於後續的修改和擴充套件。所以學號設計模式十分重要,博主會在未來的時間裡,詳細學習設計模式的精髓,接下來的博文中會總結主流的設計模式,如有不當之處,希望小夥伴們提出批判。

設計模式總結: 設計模式大致分為三種:建立型模式,結構型模式,行為型模式

建立型模式 建立型模式(Creational Pattern)對類的例項化過程進行了抽象,能夠將軟體模組中 物件的建立和物件的使用分離。為了使軟體的結構更加清晰,外界對於這些物件只 需要知道它們共同的介面,而不清楚其具體的實現細節,使整個系統的設計更加符 合單一職責原則。 建立型模式在建立什麼(What),由誰建立(Who),何時建立(When)等方面都為軟體 設計者提供了儘可能大的靈活性。建立型模式隱藏了類的例項的建立細節,通過隱 藏物件如何被建立和組合在一起達到使整個系統獨立的目的。

結構型模式 結構型模式(Structural Pattern)描述如何將類或者物件結合在一起形成更大的結構,就像搭積木,可以通過簡單積木的組合形成複雜的、功能更為強大的結構。 結構型模式可以分為類結構型模式和物件結構型模式:

  1. 類結構型模式關心類的組合,由多個類可以組合成一個更大的系統,在類結構型模式中一般只存在繼承關係和實現關係。
  2. 物件結構型模式關心類與物件的組合,通過關聯關係使得在一個類中定義另一 個類的例項物件,然後通過該物件呼叫其方法。 根據“合成複用原則”,在系統 中儘量使用關聯關係來替代繼 承關係,因此大部分結構型模式都是物件結構型 模式。

行為型模式 行為型模式(Behavioral Pattern)是對在不同的物件之間劃分責任和演算法的抽象化。 行為型模式不僅僅關注類和物件的結構,而且重點關注它們之間的相互作用。 通過行為型模式,可以更加清晰地劃分類與物件的職責,並研究系統在執行時例項 物件 之間的互動。在系統執行時,物件並不是孤立的,它們可以通過相互通訊與協 作完成某些複雜功能,一個物件在執行時也將影響到其他物件的執行。 行為型模式分為類行為型模式和物件行為型模式兩種:

  1. 類行為型模式:類的行為型模式使用繼承關係在幾個類之間分配行為,類行為 型模式主要通過多型等方式來分配父類與子類的職責。
  2. 物件行為型模式:物件的行為型模式則使用物件的聚合關聯關係來分配行為, 物件行為型模式主要是通過物件關聯等方式來分配兩個或多個類的職責。根 據“合成複用原則”,系統中要儘量使用關聯關係來取代繼承關係,因此大部分 行為型設計模式都屬於物件行為型設計模式。物件行為型模式:物件的行為型模式則使用物件的聚合關聯關係來分配行為, 物件行為型模式主要是通過物件關聯等方式來分配兩個或多個類的職責。根 據“合成複用原則”,系統中要儘量使用關聯關係來取代繼承關係,因此大部分 行為型設計模式都屬於物件行為型設計模式。

未完待續