gpt4 book ai didi

oop - 处理 "cancel button"的最佳 OO 方式

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

我一直想知道以更面向对象的方式处理取消按钮的最佳方式是什么。如果按钮被取消,我总是会匆忙地检查 bool 表单属性。

问题是这样会使代码变脏,在重要的逻辑之间有很多“取消检查”。

我总是遇到这样的事情:

void doLogic()
{
checkIfIsCancelled();
callOtherFunction();

checkIfIsCancelled();
callAnotherFunction();

checkIfIsCancelled();
callAnotherFunction();

checkIfIsCancelled();
callAnotherFunction();
}

我希望我足够清楚。我只是想要一个更整洁的方法来做到这一点:)

最佳答案

处理此问题的正确方法是 strategy pattern ,您有一个默认策略,您可以在其中进行正常处理,并且您有一个 Canceled 策略。

取消将策略更改为 cancelledStrategy,它只做一些清理工作。下一次调用将转到 cancelledStrategy。

通过这种方式,即使清理也非常简单,因为您确切地知道它在流程中的哪个位置被取消。

另一种可能的解决方案(但非常取决于您的情况)是状态模式,但如果您只需要它来取消它会产生很多开销。

关于oop - 处理 "cancel button"的最佳 OO 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097023/

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