设计模式
文章平均质量分 82
Favorite
一个迷茫的程序员
展开
-
1. 策略模式(Strategy pattern)
Referenced by Head First Design Pattern 设计模式,主要是为了让代码更具弹性。 原始的模拟鸭子游戏: 使用标准的OO技术,设计一个鸭子超类,并让各种鸭子继承此超类: 现在需要添加一个fly()的功能,最简单的做法是在超类中添加fly()方法,但是并不是所有的子类都需要这个方法。 因此这种设计有几个缺陷: 1. 增加一个新的鸭子(比原创 2012-12-25 19:51:40 · 594 阅读 · 0 评论 -
2. 观察者模式(Observer pattern)
Referenced by Head First Design Pattern 观察者模式提供了一种对象设计,让主题和观察者之间松耦合 对于实现气象站的功能,我们有一个WeatherData对象负责追踪目前的天气状况,我们的目的是希望建立几个布告板,当天气变化时候更新它们。 对于WeatherData对象的说明: 这个对象提供了get方法来读取天气状况,同时气象测试时,会调用mea原创 2012-12-25 22:03:12 · 786 阅读 · 0 评论 -
3. 装饰者模式(Decorator pattern)
Referenced by Head First Design Pattern 给爱用继承的人一个全新的设计眼界 星巴兹(Starbuzz)咖啡店有以下菜单: 客人点咖啡后可以添加任意多种配料,或者比如"双倍摩卡+牛奶总和咖啡"。 如何实现订单系统呢: 初略来看,是不会使用书上的前面2种方法的, 我们必须考虑到以下几个方面: 1. 调料和咖啡价钱会改变。 2. 调料和咖原创 2012-12-28 20:06:27 · 495 阅读 · 0 评论