软件设计模式:策略、模板方法与命令模式解析
1. 策略模式(Strategy Pattern)
策略模式的GoF定义为:定义一系列算法,将每个算法封装起来,并使它们可以相互替换。策略模式让算法的变化独立于使用它的客户端。
1.1 概念
在运行时动态选择算法的行为。
1.2 现实生活示例
在足球比赛中,如果A队在比赛接近尾声时以1 - 0领先B队,A队会采取防守策略以保持领先,而B队则会全力进攻以扳平比分。
1.3 计算机领域示例
假设有一个备份内存插槽,当主内存已满且需要存储更多数据时,可以将数据存储在备份内存插槽中。若没有备份内存插槽,尝试向已满的主内存存储额外数据时,数据可能会被丢弃、会收到异常或遇到一些特殊行为。因此,在存储数据前进行运行时检查是必要的。
1.4 实现
以下是策略模式的实现代码:
// IChoice.cs
using System;
namespace StrategyPattern
{
public interface IChoice
{
void MyChoice();
}
}
// FirstChoice.cs
using System;
namespace StrategyPattern
{
public class FirstChoice:IChoice
{
public void MyChoice()
{
Console
超级会员免费看
订阅专栏 解锁全文
2543

被折叠的 条评论
为什么被折叠?



