- 博客(4)
- 收藏
- 关注
原创 设计模式—Factory Pattern
下面是点披萨系统中的一段代码: Pizza orderPizza(){ Pizza pizza = new Pizza(); pizza.prepare(); pizza.bake(); pizza.cut(); pizza.box(); return pizza; } 因为有许多种类型的披萨,所以我们要根据披萨的类型返回合适的披萨: Pizza orderPizza(Str
2017-04-04 20:06:04 272
原创 设计模式—Decorator Pattern
最近由于星巴克咖啡的快速扩张,要对其系统进行扩展,系统一开始是这样设计的: 现在除了点的咖啡,还可以在咖啡里加上佐料,比如steamed milk,soy,以及chocolate等等。以下是对新系统的第一次尝试: 从以上设计可以看出,因为每种咖啡都可以加上不同的佐料,各种排列组合会造成类的爆炸。以下是对新系统的第二次尝试: 以上的实现大致思路是这样的:在实例化某种咖啡
2017-04-04 09:12:09 233
原创 设计模式—Observer Pattern
在了解Observer Pattern 之前,先看看一个天气监控系统的设计: 在这个系统中包含三个部分:Weather Station(通过传感器实时获取数据),WeatherData 对象(跟踪Weather Station传输过来的 数据并且更新显示界面),Display device(显示当前有关天气数据)。 我们现在所要做的是设计一个app
2017-03-25 11:16:31 324
原创 设计模式之策略模式
在了解设计模式之前,我们先尝试设计一个小小的模拟养鸭子的app,实现此app的第一步也就是要造各种各样的鸭子。我们可以以这样的方式造鸭子: 以上我造了两种鸭子,两种鸭子所包含的行为一模一样,对于每种鸭子我都要分别具体实现quack(),swim(),display()方法。如果按照上面的方法造鸭子会造成代码得不到重用,结果导致大量的代码冗余。我们可以换一种方式造鸭子: 以上我抽
2017-03-22 21:49:18 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人