在五大設計原則的基礎上經過GOF(四人組)的總結,得出了23種經典設計模式,其中分為三大類:創建型(5種)、結構型(7種)、行為型(11種)。今天對創建型中的工廠方法(FactoryMethod)模式的思想進行了一下復習和實踐,在此也做一下記錄。同樣,理解或實踐不到位的地方,希望走過路過的看官 ...
需求:有一個學雷鋒活動,有買米和掃地兩個內容,參與的人有大學生和社區志願者,他們各自的方法不一樣。 如果用簡單工廠模式實現: 寫一個雷鋒類,定義買米和掃地兩個方法,寫一個學生類和社區志願者類,繼承雷鋒類,寫一個工廠類,根據輸入的類型返回學生類或志願者類。 用工廠方法模式實現: 雷鋒類,大學生類,志願者類和簡單工廠一樣,新寫一個工廠方法基類,定義一個工廠方法接口 工廠方法模式的工廠方法應該就是指這個 ...
2014-07-30 20:31 0 8218 推薦指數:
在五大設計原則的基礎上經過GOF(四人組)的總結,得出了23種經典設計模式,其中分為三大類:創建型(5種)、結構型(7種)、行為型(11種)。今天對創建型中的工廠方法(FactoryMethod)模式的思想進行了一下復習和實踐,在此也做一下記錄。同樣,理解或實踐不到位的地方,希望走過路過的看官 ...
1.工廠方法模式定義 2.通用實現方式 工廠方式通用實現方式類圖如下: 其中Product定義了產品的共性,是對事物的抽象,Creator為抽象創建類,即抽象工廠,具體如何創建實例由實現類決定。代碼如下所示: Product類: Creator類: 具體的實現類 ...
之前寫了 設計模式系列目錄 今天說一下工廠方法模式: 定義了一個創建對象的接口,但由子類決定要實例化的類是哪一個。工廠方法讓類把實例化推遲到子類 所謂的決定並不是批模式允許子類本身在運行時做決定,而是指在編寫創建者類時,不需知道創建的產品是哪一下,選擇了使用 哪個子類,就決定了實際創建 ...
使用頻率:★★★★★ 一、什么是工廠方法 具體的工廠對象負責生產具體的產品對象; 二、補充說明 符合開放--封閉"原則(OCP),新增產品時,只需新增工廠的實現類、產品的實現類,不修改原來的代碼; 屬於23種GOF設計模式中的一種; 三、角色 抽象工廠 具體工廠 抽象 ...
目錄 1. 簡介 2. 示例1-計算器重構 2.1 背景說明 2.2 代碼重構 2.3 程序類圖 3. 示例2-模擬多功能日記記 ...
工廠模式屬於創建型設計模式,它提供了一種創建對象的最佳方式。 定義:定義了一個創建產品對象的工廠接口,將實際創建工作推遲到子類工廠當中。 問題描述:簡單工廠模式中,只要添加新的產品類,就得去修改工廠類,這樣做勢必違反了開閉原則。 解決方案:新增抽象工廠類,讓抽象產品對應抽象 ...
前言 點擊查看:設計模式系列 如果你對工廠模式這個概念不是很理解,建議:設計模式-簡單工廠模式 如果你對.net反射機制不了解,建議:.net反射詳解 工廠方法模式 描述一下工廠方法的概要:簡單工廠模式是要在工廠類中通過數據來做個決策,在工廠類中的多個類中實例化出來其中一個要用 ...
工廠方法模式(Factory Method Pattern):定義一個用於創建對象的接口,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延時到其子類. 上面類的設計如下圖: 創建一個抽象工廠類CreateLeiFeng和一個抽象對象類LeiFeng,當創建具體 ...