您的位置:首页 > 编程语言 > C#

[转载] C#面向对象设计模式纵横谈——3. AbstractFactory抽象工厂模式

2011-05-27 09:02 495 查看
主讲:李建忠
来源:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx

AbstractFactory代码示例//道路
public abstract class Road
{
public abstract void AAA();
}

//房屋
public abstract class Building
{
public abstract void BBB(Road road);
}

//地道
public abstract class Tunnel
{
public abstract void CCC();
}

//丛林
public abstract class Jungle
{
public abstract void DDD(Tunnel tunnel);
}

abstract class FacilitiesFactory
{
public abstract Road CreateRoad();
public abstract Building CreateBuilding();
public abstract Tunnel CreateTunnel();
public abstract Jungle CreateJungle();

}

//Client客户程序
class GameManager
{
FacilitiesFactory facilitiesFactory;
Road road;
Building building;
Tunnel tunnel;
Jungle jungle;

public GameManager(FacilitiesFactory facilitiesFactory)
{
this.facilitiesFactory=facilitiesFactory;
}

public void BuildGameFacilities()
{
road=facilitiesFactory.CreateRoad();
building=facilitiesFactory.CreateBuilding();
tunnel=facilitiesFactory.CreateTunnel();
jungle=facilitiesFactory.CreateJungle();
}

public void Play()
{
road.AAA();
building.BBB(road);
tunnel.CCC();
jungle.DDD(tunnel);
}
}[/code]



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