我有一系列我希望通过“根”实用程序(对象)公开的Factory对象。这个根实用程序本身就是...工厂。作为一个实用对象,我希望将它作为一个静态类来实现。然而,使用我目前的设计是不可能的,因为你不能在界面中实现静态成员。你如何创建静态工厂?
所以......
我的问题是:我怎样才能改变下面的类以获取静态工厂上面的影响?
代码如下:
public interface IFactory
{
I Create<I>();
IFactoryTransform Transformer { get; }
IFactoryDataAccess DataAccessor { get; }
IFactoryValidator Validator { get; }
}
public static class Factory : IFactory
{
static Factory()
{
Transformer = new FactoryTransform();
DataAccessor = new FactoryDataAccess();
Validator = new FactoryValidator();
}
public I Create<I>()
{
var model = typeof(I);
// Activation code will go here...
throw new NotSupportedException("Type " + model.FullName + " is not supported.");
}
public IFactoryDataAccess DataAccessor { get; private set; }
public IFactoryTransform Transformer { get; private set; }
public IFactoryValidator Validator { get; private set; }
}
你可以检查这个帖子http://miroprocessordev.blogspot.com/2011/12/design-patterns-series-7-singleton.html创建一个单身模式,我认为你不必实例化你的对象在构造函数 – 2012-08-05 12:36:33