位置于:书籍教程首页>>编程开发>>Asp.net教程>>正文

My AbstractFactory in C#

http://www.xp163.com/制作:

//MyAbstractFactory
using System;

///////////////Basic Products////////////////
//AbstractProducts
abstract class FontsStyle
{
 public string stylestring;
};

abstract class TablesStyle
{
 public string stylestring;
};
//RealProducts
class FontsStyleA:FontsStyle
{
 public FontsStyleA(){stylestring="FontsStyleA";}
};
class FontsStyleB:FontsStyle
{
 public FontsStyleB(){stylestring="FontsStyleB";}
};

class TablesStyleA:TablesStyle
{
 public TablesStyleA(){stylestring="TablesStyleA";}
};
class TablesStyleB:TablesStyle
{
 public TablesStyleB(){stylestring="TablesStyleB";}
};

//////////////Basic Products////////////////

//////////////Style Factorys////////////////

abstract class StyleFactory
{
 abstract public FontsStyle createFontsStyle();
 abstract public TablesStyle createTablesStyle();
};

class StyleA:StyleFactory
{
 override public FontsStyle createFontsStyle()
 {
  return new FontsStyleA();
 }
    override public TablesStyle createTablesStyle()
 {
  return new TablesStyleA();
 }
};

class StyleB:StyleFactory
{
 override public FontsStyle createFontsStyle()
 {
  return new FontsStyleB();
 }
    override public TablesStyle createTablesStyle()
 {
  return new TablesStyleB();
 }
};
//////////////Style Factorys////////////////

//////////////////////HomePage is the product as last
class HomePage
{
 private FontsStyle fontsstyle;
 private TablesStyle tablesstyle;

 private string htmlcode="<html><body><table style='tablesstyle'><tr><td><font style='fontsstyle'>HelloWorld!</font></td></tr></table></body></html>";

    public HomePage(StyleFactory stylefactory)
 {
       fontsstyle=stylefactory.createFontsStyle();
       tablesstyle=stylefactory.createTablesStyle();
    htmlcode=htmlcode.Replace("fontsstyle",fontsstyle.stylestring);
    htmlcode=htmlcode.Replace("tablesstyle",tablesstyle.stylestring);
    }

 public void PrintHTMLCode()
 {
  Console.WriteLine(htmlcode);
 }
 public void SetStyle(string filename)
 {
 }

};

//MyAbstractFactory App
class TestApp
{
 public static void Main( string[] args )
 {
  StyleFactory stylea=new StyleA();
  HomePage samplepage=new HomePage(stylea);
  samplepage.PrintHTMLCode();

  StyleFactory styleb=new StyleB();
  samplepage=new HomePage(styleb);
  samplepage.PrintHTMLCode();
  
  while(true){}
 }
};


中国.Net俱乐部转载此文。让我们一起进步,共享人类技术资源。[www.chinaaspx.com]

 

网友点评

 

 最新网站更新
 网站My AbstractFactory in C#说明

 

 书籍教程站内推荐信息
 书籍教程网站地图