设计模式 之 策略模式和观察者模式

早就听说设计模式了,一直没空看也没资料看,年前买了本《Head First 设计模式》,年后终于有时间看看了。

刚看了两章 :策略模式、观察者模式。发现设计模式果然是好东西,可以解决很现实的问题,也让我学到了用面向对象的思维方式去思考问题。下面简单的对刚学的这两种模式总结一下。

        策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

        当需要一个类族,这个类族里面的类只是行为不同时,就可以考虑策略者模式。把这个类族的各种行为定义成算法族,分别封装起来,So 类族的成员就可以自由的选择它们的行为。

       观察者模式(Observer Pattern):在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。

        从名字上就可以看出来这个模式的作用:观察者。举个例子吧,Button可以有多个观察者监视着它,当Button被Click的时候,Button可以通知它的所有观察者它被Click了,从而观察者可以做自己应该做的事情,例如更新自己的状态。

        设计模式是解决问题的方法,是前辈的经验之谈,值得我们后辈程序员认真学习。

下一个模式是装饰者模式,继续看.....

你可能感兴趣的:(设计模式 之 策略模式和观察者模式)