| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> .NET技术 >> C# >> C#技术资料 >> 正文
  ►  无废话C#设计模式之十一:Composite
无废话C#设计模式之十一:Composite
作者:LoveCherry    阅读人次:……    文章来源:博客园    发布时间:2007-11-27    网友评论()条
 

 

以下是引用片段:
  public override void Add(Element element)
  {
  serviceList.Add((GameService)element);
  }
  public override void Remove(Element element)
  {
  serviceList.Remove((GameService)element);
  }
  public override void Display()
  {
  Console.WriteLine(string.Format("{0}{1}({2}){3}", new string('+', 10), name, serverIP, new string('+', 10)));
  foreach (Element element in serviceList)
  {
  element.Display();
  }
  }
  public override void Start()
  {
  serviceList.Sort();
  Console.WriteLine("=============Starting the whole " + name + "=============");
  for (int i = 0; i < serviceList.Count; i++ )
  {
  serviceList[i].Start();
  }
  Console.WriteLine("=============The whole " + name + " started=============");
  }
  public override void Stop()
  {
  Console.WriteLine("=============Stopping the whole " + name + "=============");
  for (int i = serviceList.Count -1; i >= 0; i--)
  {
  serviceList[i].Stop();
  }
  Console.WriteLine("=============The whole " + name + " stopped=============");
  }
  }
  class GameArea : Element
  {
  private List serverList = new List();
  public GameArea(string name)
  : base(name) { }
  public override void Add(Element element)
  {
  serverList.Add((GameServer)element);
  }
  public override void Remove(Element element)
  {
  serverList.Remove((GameServer)element);
  }
  public override void Display()
  {
  Console.WriteLine(new string('=',20));
  Console.WriteLine(" " + name);
  Console.WriteLine(new string('=', 20));
  foreach (Element element in serverList)
  {
  element.Display();
  }
  }
  public override void Start()
  {
  Console.WriteLine("=============Starting the whole " + name + "=============");
  foreach (Element element in serverList)
  {
  element.Start();
  }
  Console.WriteLine("=============The whole " + name + " started=============");
  }
  public override void Stop()
  {
  Console.WriteLine("=============Stopping the whole " + name + "=============");
  foreach (Element element in serverList)
  {
  element.Stop();
  }
  Console.WriteLine("=============The whole " + name + " stopped=============");
  }
  }
  }

  代码执行结果如下图:

  

上一页  [1] [2] [3] 下一页

 

 
文章录入:编辑01    责任编辑:编辑01 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子