原创 Git常用命令彙集

Git常用命令彙集 開發中常用到的Git命令大集合 一張圖大致瞭解最基礎的Git命令流程   圖中名詞解釋 Workspace: 工作區 Stage: 暫存區 Local: 本地倉庫 Remote: 遠程倉庫 最基礎的命

原创 使用Hexo在GitHub上搭建私人博客

前言   一般故事的開始,都要有好多準備工作,在使用Hexo之前,你要做好如下準備: 註冊GitHub賬號 電腦安裝node.js、npm或cnpm 電腦安裝git 利用好GitHub Pages,讓你免費光速搭建私人博客,點擊

原创 代碼詳解設計模式--觀察者模式

觀察者模式   觀察者模式中,當一個對象被修改時,會自動通知它的依賴對象。 優點: 觀察者和被觀察者是抽象耦合的; 建立了一套觸發機制。 缺點: 如果一個被觀察者對象有很多的直接和間接的觀察者的話,將所有的觀察者都通知到

原创 代碼詳解設計模式--責任鏈模式

責任鏈模式   責任鏈模式爲請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。 優點 降低耦合度。它將請求的發送者和接收者解耦; 簡化了對象。使得對象不需要知道鏈的結構; 增強給對象指派職責的

原创 代碼詳解設計模式--中介者模式

中介者模式   中介者模式是用來降低多個對象和類之間的通信複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通信,並支持鬆耦合,使代碼易於維護。 優點 降低了類的複雜度,將一對多轉化成了一對一; 各個類之間的解耦; 符合

原创 代碼詳解設計模式--建造者模式

建造者模式   建造者模式使用多個簡單的對象一步一步構建成一個複雜的對象。 優點 建造者獨立,易擴展; 便於控制細節風險。 缺點 產品必須有共同點,範圍有限制; 如內部變化複雜,會有很多的建造類。 // 點單 pub

原创 代碼詳解設計模式--裝飾器模式

裝飾器模式   允許向一個現有的對象添加新的功能,同時又不改變其結構。 // 形狀接口 public interface Shape { void draw(); } // 圓形 public class Circle im

原创 代碼詳解設計模式--過濾器模式

過濾器模式   允許開發人員使用不同的標準來過濾一組對象,通過邏輯運算以解耦的方式把它們連接起來。最常見的應用如MyBatis中。 // 實體 @Data @AllArgsConstructor public class Perso

原创 代碼詳解設計模式--策略模式

策略模式   定義一系列的算法,把它們一個個封裝起來, 並且使這些算法可以在運行時根據不同需要調整。 優點: 算法可以自由切換。 避免使用多重條件判斷。 擴展性良好。 缺點: 策略類會增多。 所有策略類都需要對外暴露。

原创 代碼詳解設計模式--適配器模式

適配器模式   作爲兩個不兼容的接口之間的橋樑,結合了兩個獨立接口的功能。 優點 可以讓任何兩個沒有關聯的類一起運行。 提高了類的複用。 增加了類的透明度。 靈活性好。 缺點 過多地使用適配器,會讓系統非常零亂,不易整體

原创 代碼詳解設計模式--模板模式

模板模式   一個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但調用將以抽象類中定義的方式進行。 優點: 封裝不變部分,擴展可變部分。 提取公共代碼,便於維護。 行爲由父類控制,子類實現。 缺點: 每

原创 代碼詳解設計模式--代理模式

代理模式   代理模式是爲了向其他對象提供一種控制本對象訪問的途徑。 優點: 職責清晰。 高擴展性。 智能化。 缺點: 由於增加了代理對象,可能會造成請求的處理速度變慢。 實現代理模式需要額外的工作。 public

原创 代碼詳解設計模式--單例模式

單例模式   單例模式的目的是:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 優點: 在內存裏只有一個實例,減少了內存的開銷,尤其是頻繁的創建和銷燬實例。 避免對資源的多重佔用。 缺點: 沒有接口,不能繼承,與

原创 代碼詳解設計模式--抽象工廠模式

抽象工廠模式   實例:除了上篇簡單工廠模式畫形狀的功能,我們還需要給形狀塗色,所以還需要有顏色工廠。此時我們將所有工廠抽象出來設計成抽象工廠,並建立一個工廠生產器。 優點:能保證客戶端始終只使用某一個既定的工廠。 缺點:工廠擴展非