设计模式
以码为梯
这个作者很懒,什么都没留下…
展开
-
装饰者模式(一)
背景 假设我们现在要为沙县小吃创建一个应用程序,我们需要对沙县小吃进行建模。假设一开始他们提供了鸡腿饭、鸭腿饭、大肉面三种饭。刚刚开始的时候我们使用了继承来实现,而且将公共的操作放在了抽象的Snack类中。 每种饭的价格不一样,所以在每个子类中都重写了getCost()方法。现在顾客除了点鸡腿饭、鸭腿饭、大肉面之外,还想加上青菜、蒸蛋、土豆以及再加一个鸡腿等等需求。按照现在的...原创 2018-09-17 12:57:01 · 183 阅读 · 0 评论 -
装饰者模式(二)
目录 想要达到的目的(要解决的问题) 适用的场景 组成部分和关键点 例子 在装饰者模式(一)中,我们提供了一个样例作为背景。在介绍完背景之后,这篇文章从装饰者模式的下面五个方面来介绍它。 想要达到的目的(要解决的问题) 适用的场景 组成部分和关键点 优势和劣势分别是什么? 与其他模式的对比 例子 想要达到的目的(要解决的问题) 仔细想想背景中的案例,其实增加配菜可以抽象为增...原创 2018-10-11 09:08:04 · 125 阅读 · 0 评论