2 抽象工廠(Abstract Factory)

2022-05-19 13:36:05 字數 1432 閱讀 7122

注:**於 

抽象工廠uml**析:

抽象工廠模式:client使用者需要三步:

1.建立工廠(一種工廠可以有多種功能);

2.生產產品物件;

3.使用物件方法。

**:factory.h

//

//created by dell on 2019/10/15.

//#ifndef abstract_factory_factory_h

#define abstract_factory_factory_h#include

"product.h"//

工廠類,可以生產兩種以上產品:phone與pc

class

factory ;

//huawei工廠

class huawei : public

factory

pc* createpc() override

};//

xiaomi工廠

class xiaomi : public

factory

pc* createpc() override

};#endif

//abstract_factory_factory_h

product.h

//

//created by dell on 2019/10/15.

//#ifndef abstract_factory_product_h

#define abstract_factory_product_h#include

//虛擬手機類

class

phone ;

//虛擬膝上型電腦類

class

pc ;

//huawei手機

class huaweiphone : public

phone

};//

xiaomi手機

class xiaomiphone : public

phone

};//

huawei筆記本

class huaweipc : public

pc };

//xiaomi筆記本

class xiaomipc : public

pc };

#endif

//abstract_factory_product_h

使用者 main.cpp

#include #include 

"factory.h

"using

namespace

std;

intmain()

2 抽象工廠模式

參考 工廠方法模式和抽象工廠模式不好分清楚,他們的區別如下 工廠方法模式 乙個抽象產品類,可以派生出多個具體產品類。乙個抽象工廠類,可以派生出多個具體工廠類。每個具體工廠類只能建立乙個具體產品類的例項。抽象工廠模式 多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。乙個抽象工廠類,可以派生出多...

2 抽象工廠模式

一 基本模式 1.抽象工廠,具體工廠,抽象產品,具體產品作為其要素 2.具體工廠生產出具有 抽象產品 協議方法的產品 3.生產出的具體產品細節對使用者透明,使用者只需知道抽象產品的協議即可。4.使用時 abstractproduct aproduct concretefactory.createpr...

設計模式2 抽象工廠

建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了 介面public inte ce sender 實現類mail public class mailsender implements sender 實現類sms public class smssender implements ...