
Design Patterns
文章平均质量分 78
李小西033
这个作者很懒,什么都没留下…
展开
-
Head First设计模式:(二)观察者模式
通过具体实现一个气象监测系统来理解观察者模式 此系统的三个部分是气象站(获取实际气象数据的物理装置)、WeatherData对象(追踪来自气象站的数据,并更新布告板)和布告板(显示目前天气状况给用户看)。 具体来说该应用需要:利用WeatherDate对象从气象站取得数据,并更新三个布告板:目前状况、气象统计和天气预报。 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,原创 2012-04-24 09:58:55 · 2890 阅读 · 1 评论 -
Head First 设计模式:(一)策略模式
设计一个名为SimUDuck的鸭子模拟游戏,游戏中会出现各种鸭子,有红头鸭,野鸭,橡皮鸭,分析这些鸭子都会叫,会游泳。 此游戏内部使用标准OO技术,设计一个鸭子超类,并让各种鸭子继承此超类。 简单的实现为: package com.lissdy; public class SimUDuck { public static void main(String[] args)原创 2012-04-09 21:08:53 · 1117 阅读 · 0 评论 -
Head First设计模式:(三)装饰者模式
星巴兹咖啡准备更新订单系统,以合乎他们的饮料供应需求。 他们原先的类设计为: 这样的订单系统没有办法考虑到咖啡调料的部分,把加入不同调料的咖啡看做不同的类会导致类爆炸(每个类的cost方法计算出咖啡加调料的价钱): 很明显,这样的系统难以维护,一旦牛奶的价钱上扬或新增一种焦糖调料,系统将难以改变。 采用实例变量和继承的设计也许能解决一些问题: Beverage作为一个饮料类,原创 2012-05-06 19:31:09 · 4550 阅读 · 2 评论