您的位置:首页 > 其它

设计模式学习4 Factory Pattern

2010-07-20 14:37 323 查看

应用场景:

在软件系统中,经常面两“某个对象”的创建的工作,但是由于需求的变化,这个对象经常面临剧烈的变化,但是接口是相对稳定的。这里可以使用Factory Pattern来实现。

Factory Pattern针对的是一个对象,而Abstract Factory针对的是一系列的对象的变化。

实现代码:

接口实现:

public enum Direction
{
NORTH,
SOUTH,
WEST,
EAST
};

public interface ICar
{

void Startup();

void Run();

void Turn(Direction direction);

void Stop();
}
public interface ICarFactory
{
ICar CreateCar();
}


客户程序:

public class CarTestFramework
{
public void BuildTestContext(ICarFactory factory)
{
// ICar car = new Car();
// ...
ICar car = factory.CreateCar();

}

public void DoTest(ICar car)
{
// ICar car = new Car();
// ...

car.Run();
}

public void GetTestData(ICar car)
{
// ICar car = new Car();
// ...
}
}


接口实现类:

public class HongQiCar : ICar
{
#region ICar Members

public void Startup()
{
Console.WriteLine("HongQi Car Startup");
}

public void Run()
{
Console.WriteLine("HongQi Car Run");
}

public void Turn(Direction direction)
{
Console.WriteLine("HongQi Car Turn");
}

public void Stop()
{
Console.WriteLine("HongQi Car Stop");
}

#endregion
}
#region ICarFactory Members

public ICar CreateCar()
{
return new HongQiCar();
}

#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: