什么是(如果有的话)隐含的假设或限制以及设计的差异,例如:
在他的:
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。
是否有任何推荐的用法或通用做法来指导上述两种方式之间的选择?谢谢。