C♯, C#相談室 Part35
■ このスレッドは過去ログ倉庫に格納されています
0646デフォルトの名無しさん
2006/11/28(火) 22:26:11俺はこういう風に理解した。
----
interface IHogeFactory
{
IHoge CreateInstance();
}
static class HogeCatalog
{
private static Dictonary<Type, IHogeFactory> catalog = new Dictonary<Type, IHogeFactory>();
public static IHoge CreateInstance( Type type )
{
return catalog[type].CreateInstance();
}
public static void Regitster( Type type, IHogeFactory factory ) {
catalog[type] = factory;
}
}
class HogeA: IHoge { }
class HogeFactoryA : IHogeFactory
{
public static HogeFactoryA() { HogeCatalog.Register( typeof(HogeA), new HogeFactoryA(); }
public IHoge CreateInstance() { return new HogeA(); }
}
■ このスレッドは過去ログ倉庫に格納されています