假如你很有錢,在你沒有應用工廠模式之前,你的生活方式是這樣的:
你要出去,你需要先自己找穿的t恤,褲子、鞋子等。這樣肯定很麻煩,什麼事都需要親力親為。
如果應用了簡單工廠模式,就相當於你找了個管家,不過這個管家比較死板,技能比較有限,你告訴他你要什麼他就給你什麼,有可能他給不了你,假如這個管家只能提供上衣、褲子、鞋子,假如你需要乙個公文包怎麼辦?兩個選擇,讓你的這個管家去補充【修改源**】,再有一種就是再招乙個管家【應用工廠方法模式】,再招的管家和原來的管家都有乙個共同的行為,給我提供我需要的東西【共同的行為,可以抽象乙個介面,定義乙個行為規範】
工廠方法模式,可以簡單理解為你有多個管家,每個管家都負責一樣事務,負責你上衣的管家,負責你褲子的管家,負責你鞋子的管家,他們都有乙個共同的行為,為你提供你需要的東西。如果來了新的需求,比如說需要乙個公文包,那你可以直接招乙個負責你公文包的管家即可,這個管家必須有為你提供你需要的東西的行為【實現乙個共同的介面】,因為他們都是為你服務的。不一定是招管家【產品可以不一樣,工廠方法可以允許產品不一樣,只要遵循共同的行為規範即可】,可以是找個女朋友,保姆都是可以的。
抽象工廠模式,可以這麼理解,你有多個女朋友【抽象工廠,共同的行為,為你提供衣服、褲子、鞋子……】和多個管家【抽象產品,提供衣服或褲子或鞋子】,管家是提供衣服(衣服又包含各種顏色,其他的也是分為各種顏色和大小)、褲子、鞋子、公文包等,你的女朋友【具體的工廠】為你提供某套衣服,比如說上班穿的、參加宴會穿的……具體的管家提供具體的某種產品【衣服或者褲子等】
上面就是我的簡單理解。
>>>>什麼事都要親力親為
>>>>找乙個能力有限的管家
>>>>有多個管家,每個管家負責具體的事務
>>>>有女朋友和管家,管家負責提供具體的東西,而女朋友負責幫你搭配組合。
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
c 設計模式 之 工廠模式之 工廠模式
1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...