定義:動態地給一個物件添加一些額外的職責。就擴展功能而言,它比生成子類別方式更為靈活。
有一個 MessageModel 實體類別,某個物件對它的操作有 Insert() 和 Get() 方法,現在擴展這個物件的功能(如添加用戶驗證、輸入驗證等)。
AbstractMessage,定義核心操作介面。SqlMessage、XMLMessage,核心業務實作。AbstractMessageWrapper,持有 Component 參考,委派操作。CheckUserWrapper、CheckInputWrapper,單一職責功能擴展。返回「設計模式(C#)系列文章索引」
本系列共 6 篇:第 1 篇介紹模式概念與架構;第 2 篇定義基礎實體與抽象元件;第 3 篇實作具體元件;第 4 篇完成抽象裝飾器與用戶驗證裝飾器;第 5 篇實作輸入驗證裝飾器;第 6 篇提供完整測試與多層裝飾驗證。