FactoryMenthod

做一个汽车性能试验的项目:

先建立抽象car:

abstract class AbstractCar
{
    
public abstract void Starup();

    
public abstract void Run();

    
public abstract void Turn(Direction direction);

    
public abstract void Stop();
}

 

而后是其中一种汽车"红旗"的方法,继承抽象的"车":

public class HongQiCar : AbstractCar
{
    Engine engine1;

    
public override void Starup()
    {
        
//
    }

    
public override void Run()
    {
        
//.
    }
}

 

 

 

如果在一个测试工厂里面需要两个以上的一种汽车做测试,那么就需要一个"汽车工厂"来实例多辆汽车,这个是给其他汽车用来继承的:

abstract class CarFactory
{
    
public abstract Car CreateCar();
}

 

实现其中一种汽车,继承carFactory:

public class HongqiCarFactory : CarFactory
{
    
public override Car CreateCar()
    {
        
return new HongQiCar();
    }
}

 

然后写测试框架:

carTesing

 

最后是客户程序调用:

 

class App
{
    
public static void Main()
    {
        CarTestFramework carTestFramework 
= new CarTestFramework();
        carTestFramework.BuildTestContest(
new HongqiCarFactory());
    }
}
posted @ 2009-04-28 15:02  愚蠢的笨蛋  阅读(131)  评论(0编辑  收藏  举报