この「WorkDistribtor」とはどのようにして指定しますか?これはパターンのように見えますが、私はそれが何であるか言うことはできません。代わりに)(私は、実際の労働者が仕事をするべきかを決定する間接を導入しています仕事をするためにある特定の労働者を使用してのこれはパターンなのですか?はいの場合、その名前は何ですか?
interface IWorker
{
void Do();
}
class WorkerOne: IWorker
{
public void Do() {...}
}
class WorkerTwo: IWorker
{
public void Do() {...}
}
// ...
。このインダイレクションは、ワーカーと同じインターフェースを実装しますが、実際には作業はしませんが、委任します。
class WorkDistributor: IWorker
{
private _workerOne = new WorkerOne();
private _workerTwo = new WorkerTwo();
//...
//delegate work to the different workers
//depending on some conditions
public void Do()
{
if (whateverCondition)
{
_workerOne.Do();
}
if (anotherCondition)
{
_workerTwo.Do();
}
}
}
Abstract Factoryパターンとしてそれを知っています戦略そのもの(Do()メソッドの提供)したがって、クライアントは具体的な戦略(特定の作業者)またはWorkDistrubutorを使用することがあります。これは依存性注入によってうまく設定できます。これはまだ戦略パターンですか? – Stefan