gpt4 book ai didi

design-patterns - 在策略模式中,我们不能将每个策略都作为一个功能而不是一个类吗?

转载 作者:行者123 更新时间:2023-12-04 03:47:22 25 4
gpt4 key购买 nike

在通常的策略模式中,我们将每个策略都作为一个类。我们不能使它成为一个函数,而只是在实例化一个对象时才将引用分配给该函数,然后让该对象调用该函数吗?

最佳答案

在最简单的情况下,可以用函数指针替换策略模式。但是,考虑这种情况

class HourlyPayStrategy implements PayStrategy
{
public int calculate()
{
int x = doComplexOperation1();
int y = doComplexOperation2();

return x + y;
}

private int doComplexOperation1()
{
// ...
}

private int doComplexOperation2()
{
// ...
}
}

如果我们仅给出一个简单的函数指针,事情就会开始变得很繁琐,因为您无法再重构该东西(嗯,至少不能以一种很好的封装方式)。

关于design-patterns - 在策略模式中,我们不能将每个策略都作为一个功能而不是一个类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/964077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com