摘要:(200-07-16) C#.NET 工廠模式 (Static Factory)
IHello 介面 intfacecspattern.rar
using System;
namespace cspattern
{
public interface IHello
{
string getHello();
string Message { set; }
}
}實作的IHello的類別 1
using System.Text;
namespace cspattern
{
public class EngHello : cspattern.IHello
{
//Data Field
private String _message;
public String Message
{
set {
_message = value;
}
}
//講英文打招呼功能
public String getHello()
{
return _message+" Hello World!!";
}
//屬性
}
}實作的IHello的類別 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cspattern
{
public class JaHello : cspattern.IHello
{
//Data Field
private String _message;
public String Message
{
set
{
_message = value;
}
}
//講英文打招呼功能
public String getHello()
{
return _message + " ブログのデザインを!!";
}
//屬性
}
}實作的IHello的類別 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cspattern
{
public class TWHello : cspattern.IHello
{
//Data Field
private String _message;
public String Message
{
set
{
_message = value;
}
}
//講英文打招呼功能
public String getHello()
{
return _message + " 世界和平!!";
}
//屬性
}
}靜態工廠
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cspattern
{
public class HelloFactory
{
//非關物件(共用)
public static IHello createHello(HelloType type)
{
//通通使用介面
IHello hello = null;
switch (type)
{
case HelloType.English:
hello = new EngHello();
break;
case HelloType.Japan:
hello = new JaHello();
break;
case HelloType.Taiwan:
hello = new TWHello();
break;
}
return hello;
}
}
//類型
public enum HelloType
{
English,Taiwan,Japan
}
}