四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

C# Design Patterns (3) - Decorator

Decorator Pattern (裝飾模式)

裝飾模式可「動(dòng)態(tài)」地給一個(gè)對(duì)象添加一些額外的職責(zé),提供有別于「繼承」的另一種選擇。就擴(kuò)展功能而言,Decorator Pattern 透過 Aggregation (聚合) 的特殊應(yīng)用,降低了類與類之間的耦合度,會(huì)比單獨(dú)使用「繼承」生成子類更為靈活。

一般用「繼承」來設(shè)計(jì)子類的做法,會(huì)讓程序變得較僵硬,其對(duì)象的行為,是在「編譯」時(shí)期就已經(jīng)「靜態(tài)」決定的,而且所有的子類,都會(huì)繼承到相同的行為;然而,若用「裝飾模式」以及 UML 的 Aggregation 的設(shè)計(jì),來擴(kuò)展對(duì)象的行為,就能彈性地 (flexible) 將多個(gè)「裝飾者」混合著搭配使用,而且是在「執(zhí)行」時(shí)期「動(dòng)態(tài)」地進(jìn)行擴(kuò)展。

此外,若用一般「繼承」的做法,每當(dāng)對(duì)象需要新行為時(shí),必須修改既有的代碼、重新編譯;但若透過「裝飾模式」,則無須修改既有代碼。

The Decorator Pattern attaches additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.
                                 - Design Patterns: Elements of Reusable Object-Oriented Software



圖 1 此圖為 Decorator 模式的經(jīng)典 Class Diagram

01_Shell / Program.cs

NET技術(shù)C# Design Patterns (3) - Decorator,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 河南卫视直播| 电影电车| 红电视剧演员表| 豆包简历个人资料| 情侣不雅视频| 欧卡2mod| 决对争锋| 挠胳肢窝肚子腰| 孤芳岚影| 眼皮下垂手术费用多少钱| 《无所畏惧》| 桥梁工程施工方案| 爱播| 课课帮| 阴道电影| 雾里简谱| 李莉莉| va电影| 如意电视剧| 左航个人资料| 胚胎移植几天就知道成功了| 刀客家族| 秋天不回来吉他谱扫弦| 周秀娜全部三级视频| 小鹏奇啪行| 电影《心灵奇旅》| 假男假女 电影| 抖音官方| 重温经典节目预告| 金靖演过的电视剧有哪些| 画眉公鸟声音| 我和我的班主任| bb88| game newage| 炊事班的故事演员表| 山口小夜子| 搜狐视频官网| 免费观看潘金莲| 比基尼美女跳舞视频| 大尺度激情床戏视频| 国产伦理女村支书|