聲明:簡單工廠模式不屬於23種模式中的一種
(一)靜態工廠方法模式:通過專門定義一個類來負責創建其他類的實例,被創建的實例通常都具有共同的父類。
(二)模式中包含的角色及其職責
1.工廠(Creator)角色
簡單工廠模式的核心,它負責實現創建所有實例的內部邏輯。工廠類可以被外界直接調用,創建所需的產品對象。
2.抽象(Product)角色
簡單工廠模式所創建的所有對象的父類,它負責描述所有實例所共有的公共接口。
3.具體產品(Concrete Product)角色
簡單工廠模式所創建的具體實例對象
//依賴: 一個類的對象 當另外一個類的函數參數 或者是 返回值
(三)簡單工廠模式的實現
#include
using namespace std;
#include
class Fruit
{
public:
virtual void GetFruit() = 0;
};
class Apple: public Fruit
{
public:
void GetFruit()
{
cout<<"我是蘋果"<CreateFruit("蘋果");
fruit->GetFruit();
delete fruit;
fruit = factory->CreateFruit("梨");
fruit->GetFruit();
delete fruit;
delete factory;
return 0;
}