Factory design pattern
Define an interface for creating an object, but let
the subclasses decide which class to instantiate. The Factory method lets a
class defer instantiation to subclasses." Factory methods encapsulate the creation of objects.
This can be useful if the creation process is very complex, for example if it
depends on settings in configuration files or on user input.
Goal:
Only creating objects
// A Simple Interface
public interface IVehicle
{
void Drive(int miles);
}
// The Vehicle Factory
public class VehicleFactory
{
public static IVehicle
getVehicle(string Vehicle)
{
switch (Vehicle) {
case "Car":
return new
Car();
case "Lorry":
return new Lorry();
default:
throw new ApplicationException(string.Format("Vehicle
'{0}' cannot be created", Vehicle));
break;
}
}
}
// A Car Class that Implements the
IVehicle Interface
public class Car : IVehicle
{
public void IVehicle.Drive(int miles)
{
// Drive the Car
}
}
// A Lorry Class that Implements the
IVehicle Interface
public class Lorry : IVehicle
{
public void IVehicle.Drive(int miles)
{
// Drive the Lorry
}
}
Example code Download here :FactoryExa
No comments:
Post a Comment