posted @ 2006-12-29 18:40 Hu Yong Yuan 阅读(312) 评论(0) 编辑
posted @ 2006-12-29 18:09 Hu Yong Yuan 阅读(155) 评论(0) 编辑
本代碼是由java計設模式例程改編而來.
原碼:http://caterpillar.onlyfun.net/Gossip/index.html
Simple Factory模式(又稱Static Factory模式),一個Simple Factory生產成品,而對客戶端隱藏產品產生的細節。實作時定義一個產品介面(interface),並透過特定靜態方法來建立成品。
假設有一個音樂盒工廠,購買音樂盒的客人不用知道音樂盒是如何製作的,他只要知道如何播放音樂盒就可以了,以 UML 類別圖來表示以上的概念:
代碼如下:
public interface IMusicBox
{
void play();
}
public class PianoBox:IMusicBox
{
IMusicBox 成員#region IMusicBox 成員
public void play()
{
// TODO: 加入 PianoBox.play 實作
System.Web.HttpContext.Current.Response.Write("播放鋼琴音樂!");
}
#endregion
}
public class ViolinBox:IMusicBox
{
IMusicBox 成員#region IMusicBox 成員
public void play()
{
// TODO: 加入 ViolinBox.play 實作
System.Web.HttpContext.Current.Response.Write("播放小提琴音樂!");

}
#endregion
}
public class MusicBoxFactory
{
public static IMusicBox createMusicBox(string name)
{
return (IMusicBox)System.Activator.CreateInstance(System.Type.GetType("simpleFac."+name));
}
}
來看看Simple Factory的類別結構:
posted @ 2006-12-29 18:01 Hu Yong Yuan 阅读(175) 评论(0) 编辑
