C++ 构建器、状态机与内存管理技术解析
1. 使用构建器
构建器与工厂模式类似,都是创建型模式。但构建器能帮助构建更复杂的对象,这些对象无法一步构建完成,例如由多个独立部分组装而成的类型。构建器还提供了定制对象构建过程的方法。
1.1 构建器示例
我们以一个 Item 结构体为例:
struct Item {
std::string name;
std::optional<std::string> photo_url;
std::string description;
std::optional<float> price;
time_point<system_clock> date_added{};
bool featured{};
};
为了强制使用构建器创建 Item 实例,可以将默认构造函数设为私有,并将构建器设为友元类:
template <typename ConcreteBuilder> friend class GenericItemBuilder;
1.2 通用构建器实现
以下是通用构建器 GenericItemBuilder 的实现:
template <
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



