原创 設計模式-觀察者模式

觀察者模式分析 定義一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態上發生變化時,會通知所有觀察者對象,使他們能夠自動更新自己。 類圖示例 代碼示例 //觀察者模式 public class Ob

原创 設計模式-模板方法模式

模板方法模式分析 準備一個抽象類,將部分邏輯以具體方法以及具體構造子的形式實現,然後聲明一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。先制定一個頂級邏輯框架,而將邏輯

原创 設計模式-策略模式

策略模式分析 一個類的行爲或其算法可以在運行時更改。如定義一系列的算法,把它們一個個封裝起來, 並且使它們可相互替換。 類圖示例 代碼示例 //策略模式 public class StrategyModule { pu

原创 設計模式-享元模式

享元模式分析 主要用於減少創建對象的數量,以減少內存佔用和提高性能。嘗試重用現有的同類對象,如果未找到匹配的對象,則創建新對象。 代碼示例 //享元模式 public class FlyweightModule { pu

原创 設計模式-橋接模式

橋接模式分析 用於把抽象化與實現化解耦,使得二者可以獨立變化。通過提供抽象化和實現化之間的橋接結構,來實現二者的解耦。 類圖示例 代碼示例 //橋接模式 public class BridgeModule { inte

原创 設計模式-組合模式

組合模式分析 部分整體模式,是用於把一組相似的對象當作一個單一的對象。依據樹形結構來組合對象,用來表示部分以及整體層次 代碼示例 //組合模式 public class CompositeModule { static

原创 設計模式-外觀模式

外觀模式分析 外觀模式隱藏了系統的複雜性,並向客戶端提供了一個可以訪問系統的接口。爲子系統中的一組接口提供了一個統一的訪問接口,這個接口使得子系統更容易被訪問或者使用。 類圖示例 代碼示例 //外觀模式 public class

原创 設計模式-代理模式

代理模式分析 簡介 代理模式分爲: 靜態代理模式 動態代理模式 靜態代理模式 靜態代理在使用時,需要定義接口或者父類,被代理對象與代理對象一起實現相同的接口或者是繼承相同父類,實現方式類似於裝飾器模式,但是其目的不一樣。 看下

原创 git服務遷移記

場景: git服務遷移,更換服務地址,保留分支、日誌、標籤、版本等 前提: 新建一個空文件夾(作爲過渡操作文件夾,爲了避免對原項目造成影響)。 新的git服務器無需初始化git目錄 操作 克隆服務代碼至空的文件夾中, git

原创 設計模式-裝飾器模式

裝飾器模式分析 簡介 裝飾器模式是一種用於代替繼承的技術,無需通過繼承增加子類就能擴展對象的新功能。使用對象的關聯關係代替繼承關係,更加靈活,同時避免類型體系的快速膨脹。降低系統的耦合度,可以動態的增加或刪除對象的職責,並使得需要裝

原创 設計模式-適配器模式

適配器模式分析 簡介 適配器模式分爲: 類適配器模式 對象適配器模式 缺省適配器模式 類適配器模式 類適配器模式是通過繼承的方式把被適配的類的api轉換成目標api 看下類圖示例 看下代碼示例 /*類適配器模式*/ publ

原创 java設計模式-原型模式

原型模式分析 原型模式(PrototypePattern)是用於創建重複的對象,同時又能保證性能。這種類型的設計模式屬於創建型模式,它提供了一種創建對象的最佳方式。 . 這種模式是實現了一個原型接口,該接口用於創建當前對象的克隆。當

原创 java設計模式-簡單工廠、工廠方法、抽象工廠方法模式

工廠模式分析 簡介 工廠方法模式分爲: 簡單工廠模式 工廠方法模式 抽象工廠方法模式 簡單工廠模式 簡單工廠模式是屬於創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模

原创 java 設計模式

Gof的23中設計模式簡介 GoF是指Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides四個人,他們四個人被稱爲Gang of Four,縮寫GoF。這四個人曾經合著過一本書《D

原创 java設計模式-單例模式

單例模式分析 單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬於創建型模式,它提供了一種創建對象的最佳方式。 這種模式涉及到一個單一的類,該類負責創建自己的對象,同時確保只有單