原文地址:Java之美[從菜鳥到高手演變]之設(shè)計模式
又一篇不錯的
非原創(chuàng),學(xué)習(xí)筆記而已
//鏈接
工廠方法模式
抽象工廠模式
單例模式
建造者模式
原型模式
適配器模式
裝飾器模式
代理模式
外觀模式
橋接模式
組合模式
享元模式
策略模式
模板方法模式
觀察者模式
迭代子模式
責(zé)任鏈模式
命令模式
備忘錄模式
狀態(tài)模式
訪問者模式
中介者模式
解釋器模式
原則:
1. 對擴展開放,對修改關(guān)閉。
2. 衍生類替換掉基類,軟件單位的功能不受到影響,抽象化。
3. 依賴于抽象而不依賴于具體
4. 使用多個隔離的接口,降低類之間的耦合度
5. 一個實體應(yīng)當(dāng)盡量少的與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨立。
6. 盡量使用合成/聚合的方式,而不是使用繼承
分類:
創(chuàng)建型模式,共五種:
工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結(jié)構(gòu)型模式,共七種:
適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:
策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式。