gpt4 book ai didi

class-design - 类结构模式问题。我应该选择什么?

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

什么是(如果有的话)隐含的假设或限制以及设计的差异,例如:

在他的:

class SampleClass1
{
IWorker workerA;
IWorker workerB;

void setWorkerA(IWorker w);
void setWorkerB(IWorker w);
WorkResult doWork();
}

B)与此相比:
class SampleClass2
{
WorkResult doWork(IWorker workerA, IWorker workerB);
}

我知道这取决于具体的项目,但是如果上面的类是一个小框架的一部分呢?第一类能够更自然地维护状态并分离步骤,但第二类确保与外部调用者更自然的“实时通信”,因为每次调用 doWork() 时都会传递 Worker。

是否有任何推荐的用法或通用做法来指导上述两种方式之间的选择?谢谢。

最佳答案

SampleClass1

  • 我可能需要在 doWork
  • 之间维护 worker 的状态
  • 我可能需要单独设置 worker 的能力。 (先用 1 和 2,然后用 2 和 3)
  • 我想维护 worker ,因为它可能会在同一个 worker 上多次运行 doWork。
  • 我不是实用类。我的一个例子很重要。

  • SampleClass2
  • 给我两个 worker ,我会和他们一起工作。
  • 我不在乎他们是谁,我也不想维护他们。
  • 维持 worker 之间的任何配对都是别人的工作。
  • 我可能更像是一个实用类。也许我可以只是静止的。
  • 关于class-design - 类结构模式问题。我应该选择什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138371/

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