gpt4 book ai didi

multithreading - 命令模式中实际的业务逻辑属于哪里?

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

网上的例子,像例子here ,让我对 Command 模式感到困惑 在大多数示例中,具体命令直接调用接收方的方法之一。这是具体命令的唯一职责吗?实际的业务逻辑属于哪里?在具体命令的execute()方法中还是在接收方的某个方法中?

另一个问题是,如果我们要实现多线程命令模式,我们的线程池应该从Invoker 接收命令并运行具体命令的execute() 方法吗?我的理解正确吗?

最佳答案

两者皆有可能,我已经使用包含简单应用程序中命令实现的具体命令实现了 Command,但是,在典型的大型应用程序中,命令只需传达命令类型和任何参数即可。包含或委托(delegate)行为的实现取决于接收者。

这是因为客户端必须依赖于具体的命令。如果具体命令反过来需要复杂的依赖关系来实现行为,则客户端也间接依赖于这些复杂的依赖关系,这会导致系统不稳定。相反,具体的命令应该没有复杂的依赖关系,这样客户就可以放心地依赖它们。

[我忽略了你的第二个问题。请将其移至新问题,以便我们单独回答。]

关于multithreading - 命令模式中实际的业务逻辑属于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30136504/

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