/// <summary>
/// 抽象建造者
/// </summary>
public interface IHouse
{
/// <summary>
/// 创建房子种类的条件
/// </summary>
/// <returns></returns>
bool GetBackyard();
/// <summary>
/// 创建的房间数
/// </summary>
/// <returns></returns>
long NoOfRooms();
/// <summary>
/// 描述
/// </summary>
/// <returns></returns>
string Description();
}
public class CRoom
{
public string RoomName { get; set; }
}
/// <summary>
/// 具体建造者
/// </summary>
public class CSFH:IHouse
{
private bool mblnBackyard;
private Hashtable Rooms;
public CSFH() {
CRoom room = new CRoom();
room.RoomName = "一楼客厅";
Rooms = new Hashtable();
Rooms.Add("room1", room);
room = new CRoom();
room.RoomName = "一楼厨房";
Rooms.Add("room2", room);
room = new CRoom();
room.RoomName = "一楼洗手间";
Rooms.Add("room3", room);
room = new CRoom();
room.RoomName = "一楼卧室";
Rooms.Add("room4",room);
mblnBackyard = true;
}
public bool GetBackyard()
{
return mblnBackyard;
}
public long NoOfRooms()
{
return Rooms.Count;
}
public string Description()
{
IDictionaryEnumerator myEnumerator = Rooms.GetEnumerator();
string strDescription = "这个房子共 " + Rooms.Count + " 间 \n";
while (myEnumerator.MoveNext())
{
strDescription = strDescription + "\n" + myEnumerator.Key + "\t" + ((CRoom)myEnumerator.Value).RoomName;
}
return strDescription;
}
}
/// <summary>
/// 其他具体建造者
/// </summary>
public class CApt:IHouse
{
private bool mblnBackyard;
private Hashtable Rooms;
public CApt()
{
Rooms = new Hashtable();
CRoom room = new CRoom();
room.RoomName = "卧室";
Rooms.Add("room1", room);
room = new CRoom();
room.RoomName = "客厅";
Rooms.Add("room2", room);
room = new CRoom();
room.RoomName = "厨房";
Rooms.Add("room3", room);
mblnBackyard = false;
}
public bool GetBackyard()
{
return mblnBackyard;
}
public long NoOfRooms(){
return Rooms.Count;
}
public string Description(){
IDictionaryEnumerator myEnumerator = Rooms.GetEnumerator();
string strDescription = "这个房子一共 " + Rooms.Count + " 间 \n";
while (myEnumerator.MoveNext())
{
strDescription = strDescription + "\n" + myEnumerator.Key + "\t" + ((CRoom)myEnumerator.Value).RoomName;
}
return strDescription;
}
}
/// <summary>
/// 指导者
/// </summary>
public class CDirector
{
public IHouse BuildHouse(bool blnBackyard)
{
if (blnBackyard)
{
return new CSFH();
}
else
{
return new CApt();
}
}
}
static void Main(string[] args)
{
CDirector objDirector = new CDirector();//实例化指导者
IHouse objHouse;
string Input = Console.ReadLine();//输入条件指导哪位创建者创建房间
objHouse = objDirector.BuildHouse(bool.Parse(Input));
Console.WriteLine(objHouse.Description());
Console.ReadLine();
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有