using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factory.StaticFactoryMethod { public enum LoggerType { DB, XML, JSON } class LoggerFactory { public static ILogger Create(LoggerType loggerType) { ILogger logger = null; switch (loggerType) { case LoggerType.DB: logger = new DbLogger(); break; case LoggerType.XML: logger = new XmlLogger(); break; case LoggerType.JSON: logger = new JsonLogger(); break; default: throw new InvalidOperationException(); } return logger; } } }