c++简单工厂模式
簡(jiǎn)單工廠模式
- 什么是簡(jiǎn)單工廠模式
- 模式中包含的角色及其職責(zé)
- 案例
- 練習(xí)
什么是簡(jiǎn)單工廠模式
簡(jiǎn)單工廠模式屬于類的創(chuàng)建型模式,又叫做靜態(tài)工廠方法模式。通過專門定義一個(gè)類來負(fù)責(zé)創(chuàng)建其他類的實(shí)例,被創(chuàng)建的實(shí)例通常都具有共同的父類。
模式中包含的角色及其職責(zé)
1.工廠(Creator)角色
簡(jiǎn)單工廠模式的核心,它負(fù)責(zé)實(shí)現(xiàn)創(chuàng)建所有實(shí)例的內(nèi)部邏輯。工廠類可以被外界直接調(diào)用,創(chuàng)建所需的產(chǎn)品對(duì)象。
2.抽象(Product)角色
簡(jiǎn)單工廠模式所創(chuàng)建的所有對(duì)象的父類,它負(fù)責(zé)描述所有實(shí)例所共有的公共接口。
3.具體產(chǎn)品(Concrete Product)角色
簡(jiǎn)單工廠模式所創(chuàng)建的具體實(shí)例對(duì)象
//依賴: 一個(gè)類的對(duì)象 當(dāng)另外一個(gè)類的函數(shù)參數(shù) 或者是 返回值
3簡(jiǎn)單工廠模式的優(yōu)缺點(diǎn)
在這個(gè)模式中,工廠類是整個(gè)模式的關(guān)鍵所在。它包含必要的判斷邏輯,能夠根據(jù)外界給定的信息,決定究竟應(yīng)該創(chuàng)建哪個(gè)具體類的對(duì)象。用戶在使用時(shí)可以直接根據(jù)工廠類去創(chuàng)建所需的實(shí)例,而無需了解這些對(duì)象是如何創(chuàng)建以及如何組織的。有利于整個(gè)軟件體系結(jié)構(gòu)的優(yōu)化。不難發(fā)現(xiàn),簡(jiǎn)單工廠模式的缺點(diǎn)也正體現(xiàn)在其工廠類上,由于工廠類集中了所有實(shí)例的創(chuàng)建邏輯,所以“高內(nèi)
總結(jié)
- 上一篇: 如何在家制作自己喜欢的汉堡?
- 下一篇: c++抽象工厂