namespace CoverageFramework.Element.Generator { public abstract class XElementGeneratorFactory : IXElementGeneratorFactory { private IXElementGenerator _instance; protected abstract IXElementGenerator CreateInstance(); #region IXElementGeneratorFactory o public IXElementGenerator GetInstance() { if (_instance == null) { _instance = CreateInstance(); } return _instance; } #endregion } }