![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
design patterns
林志辉linzh
stay curious
展开
-
工厂模式(简单工厂,工厂方法,抽象工厂)
有一个批萨店,批萨店当然要卖批萨,所以会有各种口味类型的批萨:CheesePizza, ClamPizza, VeggiesPizza, PepperoniPizza.......... 用户要求一种口味,批萨店就要给人对应的批萨。例如:用户要买CheesePizza,批萨店就要给人家一块CheesePizza。。 1。简单工厂 public abstract class PizzaStor原创 2017-09-24 13:24:19 · 229 阅读 · 0 评论 -
装饰者模式
Starbuzz咖啡店里有很多种咖啡,并且深受消费者喜爱,扩张速度非常快,以后可能会陆续增加其他的咖啡种类。 购买咖啡时,也可以要求在其中加入各种调料,例如:蒸奶(Steamed Milk)、豆浆(Soy)、摩卡(Moka,也就是巧克力口味)或覆盖奶泡。Starbuzz会根据所加入的调料收取不同的费用。所以订单必须考虑到这些调料部分。 问题来了:如何动态的添加各种调料呢?毕竟不同调料的价格不同原创 2017-09-18 10:06:19 · 308 阅读 · 0 评论 -
策略模式
有许多种不同的鸭子:mallardDuck, ModelDuck, RubberDuck.................. 问题来了:各种不同的鸭子,有的会飞而有的不会飞,比如塑料模型鸭子ModelDuck就不会飞,还有个问题是不同的鸭子叫声也不相同,有的叫声是“呱 呱 叫”,有的是“吱 吱 叫”,或“叫不出声”。 这里使用策略设计模式: 策略模式:定义算法族,分别封装起来,让他们原创 2017-09-11 20:39:18 · 127 阅读 · 0 评论 -
观察者模式
气象原创 2017-09-11 21:04:23 · 161 阅读 · 0 评论