繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> My Builder in C#

My Builder in C#

2007-09-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介://MyBuilder using System; using System.Collections; ///////////////////////product/////////////////////// class HomePage { //Fields private string pagetype; private string samplecode; private Hash...
关键字:C# Builder in My

//MyBuilder

using System;

using System.Collections;

///////////////////////product///////////////////////

class HomePage

{

//Fields

private string pagetype;

private string samplecode;

private Hashtable parts=new Hashtable();

//Construcrors

public HomePage(string pagetype)

{

this.pagetype=pagetype;

samplecode="parttable,partspan";

}

//Indexers

public object this [string key]

{

get{return parts[key];}

set{parts[key]=value;}

}

//Methods

public void PrintHTMLCode()

{

samplecode=samplecode.Replace("parttable",parts["table"].ToString());

samplecode=samplecode.Replace("partspan",parts["span"].ToString());

Console.WriteLine(samplecode);

}

};

///////////////////////product///////////////////////

//////////////////////director////////////////////////

class PageDirector

{

public void Construct(PageBuilder pagebuilder)

{

pagebuilder.BuildFrame();

pagebuilder.BuildTable();

pagebuilder.BuildSpan();

}

};

//////////////////////director////////////////////////

///////////////////////builder///////////////////////

abstract class PageBuilder

{

//Fields

protected HomePage homepage;

//Properties

public HomePage HomePage

{

get{return homepage;}

}

//Methods

abstract public void BuildFrame();

abstract public void BuildTable();

abstract public void BuildSpan();

}

class CoolBuilder : PageBuilder

{

override public void BuildFrame()

{

homepage=new HomePage("coolpage");

}

override public void BuildTable()

{

homepage["table"]="
";

}

override public void BuildSpan()

{

homepage["span"]="";

}

};

class WormBuilder : PageBuilder

{

override public void BuildFrame()

{

homepage=new HomePage("wormpage");

}

override public void BuildTable()

{

homepage["table"]="
";

}

override public void BuildSpan()

{

homepage["span"]="";

}

};

class ClearBuilder : PageBuilder

{

override public void BuildFrame()

{

homepage=new HomePage("clearpage");

}

override public void BuildTable()

{

homepage["table"]="
";

}

override public void BuildSpan()

{

homepage["span"]="";

}

};

///////////////////////builder///////////////////////

//MyBuilder test

class TestApp

{

public static void Main(string[] args)

{

PageBuilder b1=new CoolBuilder();

PageBuilder b2=new WormBuilder();

PageBuilder b3=new ClearBuilder();

PageDirector pagedirector=new PageDirector();

pagedirector.Construct(b1);

pagedirector.Construct(b2);

pagedirector.Construct(b3);

b1.HomePage.PrintHTMLCode();

b2.HomePage.PrintHTMLCode();

b3.HomePage.PrintHTMLCode();

while(true){}

}

};

责任编辑:admin
相关文章