海阔凭鱼跃,天空任鸟飞.

---------送给帮助过我进步的人,以及我帮助他进步的人
posts - 5, comments - 5, trackbacks - 0, articles - 11

2006年12月29日

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 類別圖來表示以上的概念:
SimpleFactory
代碼如下:

public interface IMusicBox
    
{
         
void play();

    }

    
public class PianoBox:IMusicBox
    
{
        
IMusicBox 成員

    }

    
public class ViolinBox:IMusicBox
    
{
        
IMusicBox 成員

    }

    
public  class MusicBoxFactory
    
{
        
public static IMusicBox createMusicBox(string name)
        
{
            
return (IMusicBox)System.Activator.CreateInstance(System.Type.GetType("simpleFac."+name));
        }

    }

    


來看看Simple Factory的類別結構:

 SimpleFactory

posted @ 2006-12-29 18:01 Hu Yong Yuan 阅读(175) 评论(0) 编辑