设计模式学习01-策略模式

本文介绍了策略模式的概念及其应用。策略模式定义了一系列的算法,并将其封装,使得它们可以互换使用。这种模式让算法的变化独立于使用算法的客户端,便于在运行时动态地选择不同的算法。

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

定义

The Strategy pattern

The strategy pattern defines a family of algorithms encapsulate each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.

策略模式

策略模式定义了一系列的算法,分别封起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.

 

说明

简单的来说,对于一个接口,有多种实现。这些实现可以自由替换,不会影响其它客户的调用.


图示


列举的是游泳的例子,游泳有好几种游法,一个人在游泳时可以蝶泳,蛙泳,仰泳等等,所以将游泳这个行为抽成一个接口,下面依次蝶泳,蛙泳,仰泳的实现。而Person类直接引用游泳接口,可以在运行时通过设置swimable来动态的改变游泳的方式。

总结

策略模式是一个提倡“针对接口编程”的模式,而使用接口的目的是为了统一标准或着说是制定一种强行的规定。

策略模式的使用是由用户发起的,根据用户的操作决定使用什么具体的策略角色。策略模式仅仅封装算法,提供新的算法加入到已有系统和算法间的相互替换.

 

 

转载于:https://www.cnblogs.com/51cto/archive/2009/03/16/1413303.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值