抽象工廠設(shè)計(jì)模式 工廠方法模式與抽象工廠模式的區(qū)別?
工廠方法模式與抽象工廠模式的區(qū)別?工廠方法模式:抽象產(chǎn)品類可以從多個特定產(chǎn)品類派生。抽象工廠類可以派生多個具體工廠類。每個特定的工廠類只能創(chuàng)建特定產(chǎn)品類的一個實(shí)例。抽象工廠模式:多個抽象產(chǎn)品類。每個抽
工廠方法模式與抽象工廠模式的區(qū)別?
工廠方法模式:抽象產(chǎn)品類可以從多個特定產(chǎn)品類派生。抽象工廠類可以派生多個具體工廠類。每個特定的工廠類只能創(chuàng)建特定產(chǎn)品類的一個實(shí)例。抽象工廠模式:多個抽象產(chǎn)品類。每個抽象產(chǎn)品類可以派生多個特定的產(chǎn)品類。抽象工廠類可以派生多個具體工廠類。每個特定的工廠類可以創(chuàng)建特定產(chǎn)品類的多個實(shí)例。區(qū)別:工廠方法模式只有一個抽象產(chǎn)品類,而抽象工廠模式有多個抽象產(chǎn)品類。工廠方法模式的特定工廠類只能創(chuàng)建特定產(chǎn)品類的一個實(shí)例,而抽象工廠模式可以創(chuàng)建多個實(shí)例。
抽象工廠和工廠方法模式在應(yīng)用中的不同作用?
簡單工廠、工廠方法和抽象工廠都是在設(shè)計(jì)模式中創(chuàng)建的模式。它的主要功能是幫助我們提取對象的實(shí)例化部分,優(yōu)化系統(tǒng)架構(gòu),增強(qiáng)系統(tǒng)的可擴(kuò)展性。本文總結(jié)了這三種模式及其理解上的差異。簡單工廠模式的工廠類通常使用靜態(tài)方法,通過接收到的不同參數(shù)返回不同的對象實(shí)例。不修改代碼就不能擴(kuò)展它。工廠方法工廠方法是為每個產(chǎn)品提供一個工廠類。通過不同的工廠實(shí)例創(chuàng)建不同的產(chǎn)品實(shí)例。在同一層次結(jié)構(gòu)中,可以添加任何產(chǎn)品。抽象工廠抽象工廠是處理產(chǎn)品族的概念。例如,每個汽車公司可能都要同時生產(chǎn)轎車、卡車、公共汽車,所以每個工廠都要有辦法生產(chǎn)轎車、卡車和公共汽車。在產(chǎn)品系列的概念中添加新的產(chǎn)品線是容易的,但是添加新的產(chǎn)品是不可能的。在工廠模型中,重要的是工廠類,而不是產(chǎn)品類。產(chǎn)品類可以有多種形式,多層繼承或單個類都可以。但需要明確的是,factory模式的接口只返回一種類型的實(shí)例。這是設(shè)計(jì)產(chǎn)品類時要注意的問題。最好有父類或聯(lián)合實(shí)現(xiàn)的接口。★使用工廠模式,返回的實(shí)例必須由工廠創(chuàng)建,不能從其他對象獲取?!锕S模式返回的實(shí)例不能新建,工廠創(chuàng)建的實(shí)例可以返回。差異