Patterns
文章平均质量分 85
ZJU_Sutton
浙大EAGLE-LAB 研究生推荐系统
展开
-
Head First 设计模式——观察者模式(Observer Pattern) 之二
上一篇博文中介绍了观察者模式,并且实现了“推”的方式的代码,但是关于“拉”模式的介绍很少,网上很多材料介绍的拉模式其实根本不是观察者模式,下面通过一些分析来看看JDK里面是怎么实现的本书介绍了Java 中内置的观察者模式:import java.util.Observable;import java.util.Observer;public class WeatherData e原创 2013-05-16 15:17:39 · 1091 阅读 · 0 评论 -
Head First 设计模式——单件模式(Singleton Pattern)
单件模式(Singleton Pattern)确保一个类只有一个实例,并提供一个全局访问点单件模式确保程序中一个类最多只有一个实例。我们在程序中会遇到这种情况如:线程池,缓存,对话框,打印机,显卡等设备驱动程序。这些类对象只能有一个实例,如果制造多个实例,就会导致许多问题产生。经典的单件模式实现:#includeusing namespace std;class原创 2013-05-17 20:36:55 · 1154 阅读 · 0 评论 -
Head First 设计模式——策略模式(Strategy Pattern)
策略模式(Strategy Pattern) 定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户设计原则1:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起设计原则2:针对接口(超类)编程,而不是针对实现编程设计原则3:多用组合,少用继承问题:一个模拟鸭子游戏SimUDuck,游戏中会出现各种原创 2013-05-10 10:05:20 · 1077 阅读 · 1 评论 -
Head First 设计模式——装饰者模式(Decorator Pattern)
装饰者模式 动态地将责任附加到对象上,若要拓展功能,装饰者提供了比继承更有弹性的替代方案。设计原则类应该对拓展开放,对修改关闭问题描述:星巴兹咖啡店扩张速度太快了,准备更新订单系统,以合乎他们的饮料供应要求。购买咖啡的时候,可以要求加入各种调料,例如:蒸奶,豆浆,摩卡等,星巴兹会根据所加入的调料收去不同的费用,所以订单系统必须考虑到这些调料部分。解原创 2013-05-28 20:53:45 · 1020 阅读 · 0 评论 -
Head First 设计模式——观察者模式(Observer Pattern)
观察者模式(Observer Pattern)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并且自动更新。并且有“推”和“拉”两种通知方式。设计原则:为了交互对象之间的松耦合设计而努力问题:现在需要建立一个Internet 气象站,WeatherData 对象可以追踪目前的天气状况,现在有三个布告板,分别显示目前的状况,气象统原创 2013-05-14 21:09:44 · 979 阅读 · 0 评论