文章目录
- 工厂模式
- 工厂方法模式
- 抽象工厂模式
- 单例模式
- 观察者模式
工厂模式
C++中的工厂模式是一种创建型设计模式,用于创建对象而不需要暴露对象的创建逻辑。工厂模式将对象的创建过程封装在一个工厂类中,客户端只需要通过工厂类来创建对象,而不需要直接调用对象的构造函数。工厂模式可以提高代码的可维护性和可扩展性,因为它将对象的创建过程与客户端代码分离开来,使得客户端代码更加简洁和易于维护。
工厂方法模式
工厂方法模式是工厂模式的一种更加灵活和可扩展的实现方式,它使用一个抽象工厂类来定义对象的创建接口,然后由具体的工厂类来实现对象的创建。工厂方法模式可以根据需要添加新的工厂类来支持新的对象类型,而不需要修改抽象工厂类的代码。
场景:无法预知对象确切类别及其依赖关系时
抽象工厂模式
提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。它允许客户端使用一个共同的接口来创建一组相关的对象,而不需要知道它们的具体实现。
单例模式
用于确保一个类只有一个实例,并提供全局访问点。单例模式可以避免多个实例之间的冲突和资源浪费,同时也可以提高代码的可维护性和可扩展性。
静态局部变量来创建单例对象,可以使用工厂模式来创建单例对象,并将单例对象保存在工厂类中,以确保在任何时候都只有一个实例。
class Config {
public:static Config& getInstance() {static Config instance;return instance;}
private:Config() {}Config(const Config&) = delete;Config& operator=(const Config&) = delete;
};class ConfigFactory {
public:static Conf