using System;
public class Program
{
public static void Main()
IFanFactory simpleFactory = new FanFactory();
// Creation of a Fan using Simple Factory
IFan fan = simpleFactory.CreateFan(FanType.TableFan);
// Use created object
fan.SwitchOn();
Console.ReadLine();
}
enum FanType
TableFan,
CeilingFan,
ExhaustFan
interface IFan
void SwitchOn();
void SwitchOff();
class TableFan : IFan
public void SwitchOn()
public void SwitchOff()
class CeilingFan : IFan
}}
class ExhaustFan : IFan
interface IFanFactory
IFan CreateFan(FanType type);
class FanFactory : IFanFactory
public IFan CreateFan(FanType type)
switch (type)
case FanType.TableFan:
return new TableFan();
case FanType.CeilingFan:
return new CeilingFan();
case FanType.ExhaustFan:
return new ExhaustFan();
default: