当前位置: 首页 > 图文教程 > .Net技术 > C# > My FactoryMethod in C#

C#
C#:小编详谈ASP.NET和JSP技术
C#:小编详谈StringBuilder
C#:使用CSS的8种技巧
C#:C#开发技巧之将图片存入数据库
C#:C#技术点之利用Image制作小动画
C#:C#开发技巧之如何根据年份判断十二生肖
C#:如何制作自动播放的MP3播放器
c#:C#技术利用鼠标绘图
C#:禁用鼠标左键
C#:如何使用匿名方法
C#:小编教你如何实现特殊形状的窗体
C#:在C#应用程序控制输入法
C#:小编教大家实现堆栈
C#:C#中数组知识点的精华
C#:小编谈C#中TextBox控件的应用技巧
C#:小编教大家设置货币值中使用的小数位数
C#:C#中实现倒计时功能
C#:小编教大家创建一个数字时钟
C#:小编教大家如何向ListView控件添加搜索功能
C#:小编浅谈如何在DataGridView控件中验证数据输入

My FactoryMethod in C#


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 79 ::
收藏到网摘: n/a

//MyFactoryMethod
using System;
using System.Collections;
//SinglePage class,which build the at last product,part element
//----top class
abstract class SinglePage
{
};
//----element1
class RegisterPage:SinglePage
{
};
//----element2
class LoginPage:SinglePage
{
};
//----element3
class IndexPage:SinglePage
{
};
//----element4
class TitlePage:SinglePage
{
};
//----element5
class ContentPage:SinglePage
{
};
//----element6
class PostPage:SinglePage
{
};
//----element7
class ReplyPage:SinglePage
{
};
//----------------------------------------------end of Page class
//HomePage class,FactoryMethod is in this class,creater
//----top class
abstract class HomePage
{
 //Fields,the aim page data
 protected ArrayList pages=new ArrayList();
   
 //Properties
 public ArrayList Pages
 {
  get{return pages;}
 }
 //Methods
 public HomePage()
 {
  this.CreateHomePage();
 }

 abstract public void CreateHomePage();
};
//----concreteclass1
class Forum:HomePage
{
 override public void CreateHomePage()
 {
  Pages.Add(new RegisterPage());
  Pages.Add(new LoginPage());
  Pages.Add(new IndexPage());
  Pages.Add(new TitlePage());
  Pages.Add(new ContentPage());
  Pages.Add(new PostPage());
  Pages.Add(new ReplyPage());
  
 }
};
//----concreteclass2
class GuestBook:HomePage
{
 override public void CreateHomePage()
 {
  Pages.Add(new RegisterPage());
  Pages.Add(new LoginPage());
  Pages.Add(new ContentPage());
  Pages.Add(new ReplyPage());
 }
};
//----------------------------------------------end of HomePage class
//Test
class TestApp
{
 public static void Main(string[] args)
 {
  HomePage aforum=new Forum();
  HomePage aguestbook=new GuestBook();

        foreach(SinglePage singlepage in aforum.Pages)
  {
   Console.WriteLine("In a forum homepage contians {0}",singlepage);
  }

        foreach(SinglePage singlepage in aguestbook.Pages)
  {
   Console.WriteLine("In a guestbook homepage contians {0}",singlepage);
  }

        while(true){}

 }
};