03 2011 档案
设计模式之二 观察者模式
摘要:首先我们来看看观察者模式的定义:对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。也就是这个模式是用来处理一对多依赖的。 这里所说的"依赖"不是我们常理解的——当你直接实例化一个对象时就是在依赖它的具体类。而是指其它多个对象要用到同一个对象中的数据。我们把多个对象可以看作是观察者,另一个对象看作是被观察者,我们这里叫主体事物。 当然实现观察者模式的方法由很多种,按类型来分可分为:推模型和拉模型。推模型即是主体事物把观察者需要的数据发送给观察者。而拉模型即是观察者根据自己的需求向主体事物索取数据。这里我们只涉及推模型。 来看一个简单的 阅读全文
posted @ 2011-03-21 14:25 0小贝 阅读(426) 评论(2) 推荐(0)
设计模式之一(策略模式)
摘要:今天看了《设计模式》的第一章——策略模式。感觉自己懂了一点,但不知道自己在实际中会用不。 定义一系列的算法,把他们一个一个的封装起来,并使它们可以相互替换。该模式使得算法可独立使用它的客户而变换。 ——《设计模式》GOF看了上面那句话可能不知所云。下面我们来看一个例子。在例子中学习是最快的。如果要你做一个模拟鸭子的游戏:游戏中会出现各种鸭子,所有的鸭子都能游泳戏水,有的鸭子能飞有的鸭子不能飞。请用OO技术设计好这个鸭子项目。 对于一个没学过设计模式但学过OO的人可能这样分析:这个鸭子项目你可能认为,所有鸭子都能游泳的话,那么所有鸭子游泳的行为是一样的。而有的鸭子不能飞有的鸭子能飞,则应该把这个 阅读全文
posted @ 2011-03-17 22:08 0小贝 阅读(1866) 评论(5) 推荐(6)