私は IoC コンテナーを使い始めたばかりなので、これがばかげた質問である場合は申し訳ありません。
アプリに次のようなコードがあります
internal static class StaticDataHandlerFactory
{
public static IStaticDataHandler CreateHandler(StaticDataUpdate staticDataUpdate)
{
if (staticDataUpdate.Item is StaticDataUpdateOffice)
{
return new OfficeUpdateHandler();
}
if (staticDataUpdate.Item is StaticDataUpdateEmployee)
{
return new EmployeeUpdateHandler();
}
if (staticDataUpdate.Item == null)
{
throw new NotImplementedException(
string.Format("No static data provided"));
}
else
{
throw new NotImplementedException(
string.Format("Unimplemented static data type of {0}", staticDataUpdate.Item.GetType().FullName));
}
}
}
これは基本的に、入力データを処理するための正しい戦略を返す単純なファクトリです。
IC コンテナーを使用すると、このようなコードを排除できますか? つまり、入力パラメーターのタイプに基づいて、ロードする具体的な実装を動的に選択できるようになりますか?
それとも私はここでコースから外れていますか?