public interface IMouseFactory
{
Mouse createMouse();
}
public class HpMouseFactory : IMouseFactory
{
public Mouse createMouse()
{
return new HpMouse();
}
}
public class DellMouseFactory : IMouseFactory
{
public Mouse createMouse()
{
return new DellMouse();
}
}
public class DellMouse : Mouse
{
public void sayHi()
{
Debug.WriteLine("I am dell");
}
}
public class HpMouse : Mouse
{
public void sayHi()
{
Debug.WriteLine("I am hp");
}
}
public interface Mouse
{
void sayHi();
}
public class Factory
{
public Factory()
{
IMouseFactory mouseFactory = new DellMouseFactory();
var mouse = mouseFactory.createMouse();
mouse.sayHi();
}
}