c++【简单工厂】

基础理解

Q:为什么要用简单工厂 ?
A: 假设有一个卡车类,有 订单管理货物追踪费用计算 等等类 而且 十分依赖卡车类的数据结构,或直接调用其方法类,那么如果再想加入一个轮船类使用这些就会变得十分困难。

为了降低这种耦合,需要创建一个中间工厂类。所有产品(卡车类,轮船类)送进去加工,直接调用工厂类中产品的方法(订单管理,货物追踪这些方法)

![[Pasted image 20240326210221.png|400]]

注意点:

  1. 让所有产品都遵循同一接口。 该接口必须声明对所有产品都有用的方法。
  2. 适用于创建单个对象。其下没有包含更详细的种类
  3. 工厂里面要有清晰的对象创建方式,方便创建

UML 图

![[Pasted image 20240330232456.png]]

样例代码

#include <iostream>

/**
 * Product 接口声明了所有具体产品必须实现的操作。
 */
class Logistics
{
   
   
public:
    virtual ~Product() {
   
   }
    virtual std::string Operation() const = 0;
    virtual std::string Calculate_Price() const = 0; // 添加 Calculate_Price 方法
};

/**
 * 具体产品提供 Logistics 接口的各种实现。
 */
class RoadLogistics : public Logistics
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值