本章講解設計模式中裝飾器設計模式的相關知識
1.概念
與橋接模式類似,該模式也是為了解決類**的問題。但是裝飾器模式關注於功能的擴充套件,真實的角色比較穩定。橋接模式的真實角色在多維度之間不斷的變化,具有不確定性。
2.裝飾器模式的實現思路
1)新建相應工程
其中,car(車)為基本物件,feature介面為car類具有的基本功能,supercar類為裝飾類。
acar,aacar,aaacar為三種不同特性的車。
2)**展示
car:
package decorator;
/** * 真實物件-普通汽車類
* 更高階的車為acar、aacar、aaacar以此類推
* @author jwang
* */
public class car implements feature
}
feature:
package decorator;
public inte***ce feature
supercar:
package decorator;
/** * 裝飾器類,用來擴充基本物件的功能
* @author jwang
* */
public class supercar implements feature
@override
public void move()
}
其中一種特性車acar:
package decorator;
public class acar extends supercar
//a類車新特性
public void a()
@override
public void move()
}
由此可見,a類車可以通過傳遞過來的型別任意的擴充自己的功能。
3)編寫測試**測試
test:
package decorator;
public class test
}
程式執行結果:
Java設計模式(九) 外觀模式
外觀模式 一 定義 二 結構 三 案例 四 特點 一 定義 facade 外觀 模式為子系統中的各類 或結構與方法 提供乙個簡明一致的介面,隱藏子系統的複雜性,使子系統更加容易使用。二 結構 門面 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關的 乙個或者多個 子系統的功能和責任。...
java設計模式之原型設計模式
原型設計模式 顧名思義,該模式的思想就是將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件 設計思路 第一步 建立乙個類prototypemode,實現cloneable介面 第二步 在prototypemode中定義shallowclone方法 淺複製物件實現 和deepclon...
java設計模式之裝飾設計模式
裝飾設計模式 裝飾設計模式就是給乙個物件增加一些新的功能,而且是動態的。要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項 設計思路 第一步 定義介面action,在介面中提供乙個方法work 第二步 定義被裝飾類child,實現介面action 第三步 定義裝飾類adult,實現...