using System;
using System.Collections.Generic;
using System.Text;
namespace Example0526
{
public abstract class Road
{
public abstract void Start();
}
public abstract class AbstractRoadFactory
{
public abstract Road CreatRoad();
}
/*
* ------------------客户区运行 ------------------
*/
public class TestRoadFactory
{
public void Testing()
{
RoadFactory rf = new RoadFactory();
Road r = rf.CreatRoad();
r.Start();
}
}
/*
* ------------------客户区代码 ------------------
*/
//public class RoadManage
//{
// AbstractRoadFactory abstractRoadFactory;
// public RoadManage(AbstractRoadFactory abstractRoadFactory)
// {
// this.abstractRoadFactory = abstractRoadFactory;
// }
// public Road GetRoad()
// {
// return this.abstractRoadFactory.CreatRoad();
// }
//}
/*
* 变化点
*/
public class RoadFactory : AbstractRoadFactory
{
public override Road CreatRoad()
{
return new Road1();
}
}
public class Road1 : Road
{
public void Start1()
{
}
public override void Start()
{
}
}
public class Road2 : Road
{
public void Start2()
{
}
public override void Start()
{
}
}
}