using System; using System.Collections;public class MyClass { public static void Main() { //通过定义的工厂来实例化。弊端是当产品很多时需要增加很多的工厂。代码重复。 FactoryVehicle factory = new FactoryCar(); IVehicle vehicle = factory.CreateVehicle(); vehicle.go(); Console.ReadLine(); }
} public interface FactoryVehicle { IVehicle CreateVehicle();}public class FactoryCar:FactoryVehicle { public IVehicle CreateVehicle() { return new Car(); } }public class FactoryBoat:FactoryVehicle { public IVehicle CreateVehicle() { return new Boat(); } }public interface IVehicle { void go(); }public class Car:IVehicle { public void go() { Console.WriteLine("car"); } }public class Boat:IVehicle { public void go() { Console.WriteLine("boat"); } }
楼主【hotmail996】截止到2008-06-30 11:45:25的历史汇总数据(不包括此帖):
发帖数:0 发帖分:0
结贴数:0 结贴分:0
未结数:0 未结分:0
结贴率:-------------------结分率:-------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
using System.Collections;public class MyClass
{
public static void Main()
{
//通过定义的工厂来实例化。弊端是当产品很多时需要增加很多的工厂。代码重复。
FactoryVehicle factory = new FactoryCar();
IVehicle vehicle = factory.CreateVehicle();
vehicle.go();
Console.ReadLine();
}
}
public interface FactoryVehicle
{
IVehicle CreateVehicle();}public class FactoryCar:FactoryVehicle
{
public IVehicle CreateVehicle()
{
return new Car();
}
}public class FactoryBoat:FactoryVehicle
{
public IVehicle CreateVehicle()
{
return new Boat();
}
}public interface IVehicle
{
void go();
}public class Car:IVehicle
{
public void go()
{
Console.WriteLine("car");
}
}public class Boat:IVehicle
{
public void go()
{
Console.WriteLine("boat");
}
}