arkulo56 / thought

记录所有可记录的零碎技术点,请关注Issues
20 stars 9 forks source link

<<简单通俗系列>>装饰者模式 #52

Open arkulo56 opened 9 years ago

arkulo56 commented 9 years ago

很多年前,手机只能用来打电话,再后来可以发短信,再后来可以GPS...

一般会有两种方式对一个类或者对象增加行为:

我们用刚才手机的例子来看看装饰者模式

类图和时序图

https://raw.githubusercontent.com/arkulo56/thought/master/fotosay/%E8%A3%85%E9%A5%B0%E8%80%85%E6%A8%A1%E5%BC%8F%E7%B1%BB%E5%9B%BE.png

仔细看看装饰者模式和桥接模式的区别

代码

    $phone = new Nokia();
    $newNokia = new phoneMessage($phone);
    $newNokia->call();
    $newNokia->message();