【发布时间】:2010-12-21 10:07:42
【问题描述】:
我正在实现如下所示的工厂模式。
public class FeedFactory
{
#region Singleton Pattern
//..
#endregion
private static Feed[] _factory = new Feed[(int)FeedType.Total];
public void RegisterFeed(FeedType feedType,Feed feed)
{
if (_factory[(int)feedType] == null)
{
_factory[(int)feedType] = feed;
}
else
{
// already registered
}
}
public Feed GetFeed(FeedType feedType)
{
return _factory[(int)feedType];
}
}
这里,Feed 是一个抽象类,不同的类都继承自该类。如何注册不同的课程?是否可以从他们的构造函数中做到这一点?
【问题讨论】:
-
如果你没有在 else 子句中做任何事情,最好将其删除,这样可以使其更具可读性。
标签: c# design-patterns repository factory