(もしあれば) 暗黙の仮定や制限、および設計の違いは何ですか:
A) これ:
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);
}
特定のプロジェクトに依存することはわかっていますが、上記のクラスが小さなフレームワークの一部である場合はどうなりますか? 最初のクラスは状態を維持し、ステップをより自然に分離できますが、2番目のクラスは doWork() が呼び出されるたびに Worker が渡されるため、外部呼び出し元との「リアルタイム通信」がより自然に保証されます。
上記の 2 つの方法のどちらかを選択するための推奨される使用方法や一般的な方法はありますか? ありがとう。