工廠模式
普通工廠
簡單工廠模式的主要角色如下:
簡單工廠(SimpleFactory):是簡單工廠模式的核心余境,負(fù)責(zé)實現(xiàn)創(chuàng)建所有實例的內(nèi)部邏輯拷淘。工廠類的創(chuàng)建產(chǎn)品類的方法可以被外界直接調(diào)用止邮,創(chuàng)建所需的產(chǎn)品對象憔辫。
抽象產(chǎn)品(Product):是簡單工廠創(chuàng)建的所有對象的父類你稚,負(fù)責(zé)描述所有實例共有的公共接口瞬沦。
具體產(chǎn)品(ConcreteProduct):是簡單工廠模式的創(chuàng)建目標(biāo)。
簡單工廠核心類目就是工廠類剿另,箫锤,工廠類根據(jù)不同標(biāo)識,創(chuàng)建不同產(chǎn)品實例雨女。谚攒。。氛堕。
工廠方法
簡單工廠也有它的弊端馏臭。。比如我要增加產(chǎn)品讼稚。括儒。那必須修改工廠類。锐想。增加判斷邏輯帮寻。。 所以出現(xiàn)了工廠方法模式(抽象產(chǎn)品只能生產(chǎn)一種產(chǎn)品赠摇,此弊端可使用抽象工廠模式解決固逗。)
這樣的情況下浅蚪。我不需要知道具體產(chǎn)品。烫罩。只需要知道工廠惜傲。。就能生產(chǎn)對應(yīng)的產(chǎn)品贝攒。盗誊。。饿这。
工廠方法模式的主要角色如下浊伙。
抽象工廠(Abstract Factory):提供了創(chuàng)建產(chǎn)品的接口撞秋,調(diào)用者通過它訪問具體工廠的工廠方法 newProduct() 來創(chuàng)建產(chǎn)品长捧。
具體工廠(ConcreteFactory):主要是實現(xiàn)抽象工廠中的抽象方法,完成具體產(chǎn)品的創(chuàng)建吻贿。
抽象產(chǎn)品(Product):定義了產(chǎn)品的規(guī)范串结,描述了產(chǎn)品的主要特性和功能。
具體產(chǎn)品(ConcreteProduct):實現(xiàn)了抽象產(chǎn)品角色所定義的接口舅列,由具體工廠來創(chuàng)建肌割,它同具體工廠之間一一對應(yīng)。
抽象工廠
工廠方法模式只考慮生產(chǎn)同等級的產(chǎn)品帐要,但是在現(xiàn)實生活中許多工廠是綜合型的工廠把敞,能生產(chǎn)多等級(種類) 的產(chǎn)品,如農(nóng)場里既養(yǎng)動物又種植物榨惠,電器廠既生產(chǎn)電視機又生產(chǎn)洗衣機或空調(diào)奋早,大學(xué)既有軟件專業(yè)又有生物專業(yè)等。
實際就是擴展了原有的實際工廠類赠橙,增加了產(chǎn)生不同產(chǎn)品的方法
幾大工廠模式耽装,說不上來哪個好哪個壞,只是應(yīng)用不同的場景下哪個更加的合適才對期揪。掉奄。。理解下這種模式的思想吧凤薛。姓建。