什么是(如果有的话)隐含的假设或限制以及设计的差异如下:
在他的:
class SampleClass1
{
IWorker workerA;
IWorker workerB;
void setWorkerA(IWorker w);
void setWorkerB(IWorker w);
WorkResult doWork();
}
Run Code Online (Sandbox Code Playgroud)
B)与此相对:
class SampleClass2
{
WorkResult doWork(IWorker workerA, IWorker workerB);
}
Run Code Online (Sandbox Code Playgroud)
我知道这取决于具体项目,但如果上面的类是小框架的一部分怎么办?第一个类能够维持状态并更自然地分离步骤但是第二类确保与外部调用者的"实时通信"更自然,因为每次调用doWork()时都传递Worker.
是否有任何建议的用法或通用实践指导上述两种方式之间的选择?谢谢.
SampleClass1
SampleClass2