close

裝飾模式:舊功能已經完成了以後,想新增功能,卻又不想去改動舊功能,裝飾模式提供不錯的參考

 

先看個UML:

裝飾模式

來看看程式碼呈現:

 

首先這是一開始寫的主要功能,也已經完成。

Function

Kernel

接下來建立一個抽象類別繼承原本Function,並且擁有Function的成員變數

Decorator  

裝飾A:

DecoratorA

裝飾B:

DecoratorB

客戶端的操作情況:

Client  

是不是就成功多了功能,卻又不會去修改的原本的Function呢?~

這樣就減少修改原本Function可能多了Bug的風險嚕

arrow
arrow
    創作者介紹
    創作者 KC 的頭像
    KC

    Programmer in Taiwan

    KC 發表在 痞客邦 留言(0) 人氣()