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

本文介绍了策略模式和观察者模式的基本概念及其应用场景。策略模式通过封装算法族并使其可互换,帮助实现算法与客户端的解耦。观察者模式则通过建立对象间的一对多依赖关系,确保一个对象的状态变化能自动通知到所有依赖者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值