原创 設計模式 - 策略模式

在理解策略模式之前我們假設有這樣一個需求場景:我們在寫訂單支付場景的代碼時,客戶可以選擇多種支付方式,有銀聯支付、支付寶支付、微信支付、京東白條等等。然後我們就很可能就會編寫出類似下面這樣的代碼: /** * 訂單類,擁有一個支付方法

原创 設計模式 - 策略模式

在理解策略模式之前我們假設有這樣一個需求場景:我們在寫訂單支付場景的代碼時,客戶可以選擇多種支付方式,有銀聯支付、支付寶支付、微信支付、京東白條等等。然後我們就很可能就會編寫出類似下面這樣的代碼: /** * 訂單類,擁有一個支付方法

原创 設計模式 - 委派模式

理解 首先委派模式不屬於23種設計模式。 所謂委派,個人理解是:將爲達到最終結果的事情交給其他人或中間人來幹,我只要最終結果,其他的事情,由我委派的人來安排。 更直白的表達就是,比如,我們想要蓋一棟樓房,蓋完之後我要刷漆,這些事情我自己肯定

原创 設計模式 - 動態代理原理及模仿JDK Proxy 寫一個屬於自己的動態代理

本篇文章代碼內容較多,講的可能會有些粗糙,大家可以選擇性閱讀。 本篇文章的目的是簡單的分析動態代理的原理及模仿JDK Proxy手寫一個動態代理以及對幾種代理做一個總結。 對於代理模式的介紹和講解,網上已經有很多優質的文章,我這裏就不會再過

原创 設計模式 - 工廠模式

概述 我們都知道Java中共有 23 種設計模式,其中工廠模式分爲三種,即:簡單工廠模式(不在 23 種設計模式之列)、工廠方法模式和抽象工廠模式;我們平時說的工廠模式,其實大都指工廠方法模式,這種模式是我們平時編碼中用的頻率最高的一種,

原创 設計模式 - 單例模式之多線程調試與破壞單例

前言 在之前的 設計模式 - 單例模式(詳解)看看和你理解的是否一樣? 一文中,我們提到了通過Idea 開發工具進行多線程調試、單例模式的暴力破壞的問題;由於篇幅原因,現在單獨開一篇文章進行演示:線程不安全的單例在多線程情況下爲何被創建多個

原创 你不知道的 IDEA Debug調試小技巧

一、多線程調試斷點 Intellij IDEA 的debug斷點調試是有一個模式的選擇的,就像下面這張圖,平時我們都使用的是默認的 ALL(在Eclipse中默認是線程模式) ,這種模式我們只能將一個線程斷下來,但其他線程卻已經執行過了;而

原创 設計模式 - 單例模式(詳解)看看和你理解的是否一樣?

一、概述 單例模式是設計模式中相對簡單且非常常見的一種設計模式,但是同時也是非常經典的高頻面試題,相信還是有很多人在面試時會掛在這裏。本篇文章主要針對單例模式做一個回顧,記錄單例模式的應用場景、常見寫法、針對線程安全進行調試(看得見的線程)

原创 設計模式 - 導讀

發佈說明 其實不用設計模式並非不可以,但是用好設計模式能幫助我們更好地解決實際問題。 設計模式天天都在用,但自己卻無感知。 本系列文章,初衷是爲了記錄日常經常使用的設計模式,也給學習設計模式的同學們提供參考和查閱。 文章內容有自己的理解,也

原创 設計模式 - 工廠模式

概述 我們都知道Java中一共有 23 種設計模式,其中工廠模式分爲三種,即:簡單工廠模式(不在 23 種設計模式之列)、工廠方法模式和抽象工廠模式;我們平時說的工廠模式,其實大都指工廠方法模式,這種模式是我們平時編碼中用的頻率最高的一種,

原创 設計模式 - 七大設計原則(四)- 合成複用原則與設計原則總結

概述 簡單介紹一下七大設計原則: 開閉原則:是所有面向對象設計的核心,對擴展開放,對修改關閉 依賴倒置原則:針對接口編程,依賴於抽象而不依賴於具體 單一職責原則:一個接口只負責一件事情,只能有一個原因導致類變化 接口隔離原則:使用

原创 設計模式 - 七大設計原則(三)- 迪米特法則與里氏替換原則

概述 簡單介紹一下七大設計原則: 開閉原則:是所有面向對象設計的核心,對擴展開放,對修改關閉 依賴倒置原則:針對接口編程,依賴於抽象而不依賴於具體 單一職責原則:一個接口只負責一件事情,只能有一個原因導致類變化 接口隔離原則:使用

原创 設計模式 - 七大設計原則(二)

概述 簡單介紹一下七大設計原則:<br/> 開閉原則:是所有面向對象設計的核心,對擴展開放,對修改關閉<br/> 依賴倒置原則:針對接口編程,依賴於抽象而不依賴於具體<br/> 單一職責原則:一個接口只負責一件事情,只能有一個原因導致類變化

原创 設計模式 - 七大設計原則(一)

設計模式 - 七大設計原則(一) 概述 簡單介紹一下七大設計原則:開閉原則:是所有面向對象設計的核心,對擴展開放,對修改關閉依賴倒置原則:針對接口編程,依賴於抽象而不依賴於具體單一職責原則:一個接口只負責一件事情,只能有一個原因導致類變化接

原创 文章測試

第一篇 測試