大话设计模式(一):装饰器模式

最近读了很多csdn上的java文章,发现很多大神都写了关于设计模式的文章,为了向大神看齐,于是我也要写关于设计模式的文章。

         但凡好的文章,或者说那些让人容易读懂的文章,无不都是通过类比的方式向读者表达自己的观点,基于此,每篇文章我都会举一个例子。

         装饰器模式顾名思义就是在原来的基础之上加上一些修饰。你比如说,现在很多同学都喜欢刷抖音,里面的小姐姐一个比一个漂亮,看都看不过来。自从作者刷抖音之后,感觉每天都在谈恋爱,而且是见一个爱一个。。。。。。

         好像扯远了,回到我们的话题。那么这些小姐姐为什么这么漂亮啊,还不都是因为她们化了妆,如果她们卸了妆,作者敢保证一个比一个吓人,也就是我们说的丑女。

这里我们就得出一个结论:原始的女人都是丑女,化了妆装饰后的女人都是小姐姐。

         不管是丑女还是小姐姐都是女人,可以抽象出一个Woman接口;

         不管是丑女还是小姐姐都可以供我们欣赏,我们可以抽象出一个display()方法;

于是我们就可以定义一个丑女和小姐姐共同的接口:

大话设计模式(一):装饰器模式_第1张图片

然后再让我们的丑女和小姐姐实现这个借口:

大话设计模式(一):装饰器模式_第2张图片

大话设计模式(一):装饰器模式_第3张图片

注:装饰器模式是为了增强原有类的功能,所以这里我们的小姐姐持有一个丑女的对象,这样就可以调用丑女的功能了

调用类:

大话设计模式(一):装饰器模式_第4张图片

运行结果:

大话设计模式(一):装饰器模式_第5张图片

不知这样讲设计模式你懂了吗?

你可能感兴趣的:(大话设计模式)