這是一篇關於 Java 設計模式的短文。不會有模式的實現,只有java中存在的模式清單及其簡要內容。對於那些已經熟悉該主題的人來說,這將有助於重複和概括。或者,相反,對於那些第一次接觸模式的人來說 - 在深入挖掘之前首先概述該主題。 設計模式(設計模板)是針對經常遇到的程式設計問題的現成解決方案。這不是一個可以連接到專案的類別或庫,它是更多的東西。適合該任務的設計模式在每個特定情況下實施。應該記住,這種模式如果應用不正確或應用於錯誤的問題,可能會導致許多問題。然而,正確應用的模式將有助於輕鬆簡單地解決問題。 圖案類型:
- 產生
- 結構性的
- 行為的
- Singleton - 限制類別的一個實例的建立並提供對其唯一物件的存取。
- 工廠- 當我們有一個具有多個子類別的超類別並且根據輸入,我們需要從子類別返回一個時使用。
- 抽象工廠-使用超級工廠創建工廠,然後使用已建立的工廠建立物件。
- Builder - 用於使用簡單物件建立複雜物件。逐漸地,它從一個小而簡單的物件創建一個更大的物件。
- 原型- 有助於創建具有更好性能的重複對象,而不是創建新對象,而是創建現有對象的返回克隆。
- 適配器是兩個不相容物件之間的轉換器。使用適配器模式,我們可以組合兩個不相容的介面。
- 複合- 使用單一類別來表示樹結構。
- 代理- 代表另一個類別的功能。
- Flyweight - 物件被重複使用,而不是創建大量相似的物件。
- Facade-為客戶端提供簡單的介面,客戶端透過該介面與系統互動。
- 橋接- 使具體類別獨立於介面實作類別。
- 裝飾器- 為現有物件新增功能,而不改變其結構。
- 模板方法- 定義演算法的基礎,並允許後繼者重新定義演算法的某些步驟,而不改變其整體結構。
- Mediator - 提供一個中介類別來處理不同類別之間的所有通訊。
- 責任鏈- 允許您避免請求發送者對其接收者的嚴格依賴,同時請求可以由多個物件處理。
- 觀察者- 允許某些物件監視其他物件中發生的事件並對其做出反應。
- 策略- 策略演算法可以在程式執行期間更改。
- 命令- 命令介面聲明執行特定操作的方法。
- 狀態- 物件可以根據其狀態改變其行為。
- 訪客- 用於簡化對相關物件分組的操作。
- 解釋器- 為問題域定義簡單的語言語法。
- 迭代器- 在不知道其底層表示的情況下順序存取集合物件的元素。
- Memento(Keeper)-用來儲存一個物件的狀態,這個狀態可以在以後恢復。
GO TO FULL VERSION