My FactoryMethod in C#
2004-08-04 17:48
489 查看
//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){}
}
};
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){}
}
};
相关文章推荐
- My FactoryMethod in C#
- My AbstractFactory in C#
- My Web Access Code in C#(Basic Post&Get method) / C#访问Web代码(基本Post和Get方法)
- My AbstractFactory in C#
- My Builder in C#
- 错误处理:The hierarchy of the type MyMethodBeforeAdvice is inconsistent
- IllegalArgumentException in class: my.models.base.BaseVo, getter method of property: id
- Spring MVC How take the parameter value of a GET HTTP Request in my controller method?
- C#设计模式之工厂模式(Factory)--02 工厂方法模式(Factory Method)
- C# 设计模式 (1) Factory Method 模式
- 设计模式之C#实现(三)FactoryMethod
- C#设计模式——工厂方法模式(Factory Method)
- C# 设计模式-工厂方法(Factory Method)
- How to call code behind method in JavaScript in C# and VS2010?
- C# Design Patterns (1) - Factory Method
- 设计模式之C#实现(三)FactoryMethod
- C#函数编译出错:Inconsistent accessibility: parameter type ‘aaa.bbb.ccc’ is less accessible than method ‘aa
- My Prototype in C#
- 艾伟_转载:C# Design Patterns (1) - Factory Method
- Breaking parallel loops in .NET C# using the Stop method z