經常使用設計模式理解


不喜勿噴!!!不喜勿噴!!!不喜勿噴!!!框架


模式實際不少都是使用的(接口)interface特性,即抽象和具體;工廠,命令都是利用抽象的特性;編碼

模式主要是爲了代碼複用,減小代碼耦合,減小硬編碼;代理

Spring框架server

1. 單例對象

2. 簡單工廠模式:處理對象的建立(繼承和多態共存)繼承

其實用的基類,子類的繼承和多態;而後加上一個工廠;通常的話都是界面直接調用子類,而如今插入一個工廠,界面跟工廠打交道拿到子類,工廠來處理這些父類,子類;接口

3. 工廠方法和抽象工廠:簡單工廠就是一個工廠,工廠方法就是每一個子類都有一個工廠;而抽象工廠是結合工廠方法使用的工廠的工廠;總的來講就是比簡單模式多了工廠方法,事件

4. 代理模式(Proxy):不是很好理解。代理就是一個Java對象表明另外一個Java對象來採起行動。ip

5. 命令模式(Command):其實就是點擊事件的回調,匿名接口對象,直接處理某些邏輯的代碼塊。有點像block;指定某一個方法處理;具體方法的實現是自定義的,每一個都不一樣;事件監聽

6. 策略模式(Strategy):(繼承和多態共存),其實也是接口,繼承,多態的結合產物;如算書價格,原價,員工價,vip價,跳樓價等,就是不一樣的策略表現,其實就是不一樣的方法實現;

7. 門面模式(Facade):實際上是一個整合:講的是類封裝裏面封裝的是什麼東西;整理一個類所要承擔的責任。若是沒有相應的類,就要創建。如餐廳就餐;有三個部門,採購,廚房,送餐,把這

三個部門整合起來,就是餐廳。就是門面。餐廳提供給用戶的就是就餐。若是沒有餐廳這個類(角色),就建立他,不要讓用戶直接與採購,廚房,送餐打交道。

8. 橋接模式(Bridge):其實講的就是組合。類對象的組合。2x4,3x6等的組合。若有{ 辣, 不辣 }, {牛肉麪,豬肉面},就能夠組合成:辣牛肉麪,不辣牛肉麪,辣豬肉面,不辣豬肉面;

9. 觀察者模式(Observer):咱們能夠把觀察者接口理解成事件監聽接口,而被觀察者對象也可當成事件源處理;其實就是被觀察者保有觀察者的引用,有變更時就調用一下觀察者對象的某個

而已。固然具體是調用什麼方法,觀察者和被觀察者要溝通好。

相關文章
相關標籤/搜索