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

---------送给帮助过我进步的人,以及我帮助他进步的人

导航

設計模式學習之二(AbstractFactory)

Posted on 2006-12-29 18:09  Hu Yong Yuan  阅读(297)  评论(0)    收藏  举报


假設您要製作一個對話方塊(Dialog)元件,您希望的是這個對話方塊可以有不同的視感(Look-and- feel),最基本的想法是,藉由Setter將不同視感的元件設定給這個對話方塊,例如:
見UML類別圖:
AbstractFactory
實現代碼


Abstract Factory模式的UML結構圖:
AbstractFactory
簡單的說,在Abstract Factory模式中將具體的Product封裝在具體Factory實現中,而客戶仍只要面對Factory與Product的抽象介面,避免依賴於具體的Factory與Product,由於Factory封裝了所必須的Product,所以要更換掉所有的元件,只要簡單的抽換掉Factory就可以了,不用修改客戶端的程式。