您可以在这里快速查找:


 
您的位置: 编程学习 > asp.net教程 > 200509
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

My FactoryMethod in C#

beautyispower

//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){}

 }
};