从FLC中学习的设计模式系列-创建型模式(3)-工厂方法
工廠方法是一組方法, 他們針對不同條件返回不同的類實例,這些類一般有共同的父類。
?
工廠方法模式
來自: http://zh.wikipedia.org/wiki/工廠方法模式
工廠方法模式 是一種面向對象的設計模式。通過調用不同的方法返回需要的類,而不是去實例化具體的類。 對實例創建進行了包裝。 工廠方法是一組方法, 他們針對不同條件返回不同的類實例,這些類一般有共同的父類。
工廠方法模式實施一種按需分配的策略, 即傳入參數進行選擇, 工廠方法根據參數進行選擇,返回具體的實例。
?
FLC中的工廠方法模式
在FLC中比較典型的就是WebRequest.Create(Uri ?requestUri)方法
MSDN的介紹如下:
Create 方法將運行時確定的 WebRequest 類的子代作為與 requestUri 最接近的注冊匹配項返回。
當以 http:// 或 https://開頭的 URI 在 requestUri 中傳遞時,由 Create 返回一個 HttpWebRequest。
如果改為傳遞以 ftp:// 開頭的 URI,則 Create 方法將返回 FtpWebRequest 實例。
如果改為傳遞以 file:// 開頭的 URI,則 Create 方法將返回 FileWebRequest 實例。
?
類圖大致如下:
因為WebRequest 本身也作為了工廠類,為了區別我畫了2次。
?
轉載于:https://www.cnblogs.com/kiminozo/archive/2012/02/15/2353135.html
總結
以上是生活随笔為你收集整理的从FLC中学习的设计模式系列-创建型模式(3)-工厂方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扬长避短使用Windbg和Visual
- 下一篇: asp.net ajax控件工具集 Au