接口

接口

接口是服务商与用户的契约,要易于理解、鼓励高效使用、不易出错、支持测试等

接口明确

避免非const的全局变量

  1. 非const 变量会注入隐藏依赖,全局变量会让函数和模块之间产生隐式依赖。函数通过全局变量共享状态,使得这些函数在其他地方重用时变得困难。如果函数依赖于某个全局变量,那么这个函数就无法在没有该全局变量的情况下独立使用,从而降低了代码的可重用性。
  2. 数据竞争 全局变量可以在代码中的任何地方访问和修改,这使得代码的依赖关系变得复杂,难以维护。

避免单例

  1. 单例模式的主要问题是它隐藏了对象之间的依赖性。单例对象可以在任何地方访问,这使得代码的依赖性不再明确,导致代码结构变得不清晰。依赖隐式地存在于代码中,难以追踪和管理。
  2. 由于单例通常通过私有构造函数来限制实例化,无法通过继承或多态来扩展类的行为.
    
    class Database {
    public:
    static Database& getInstance() {
        static Database instance;
        return instance;
    }
    void query(const std::string& sql) {
        // 执行查询操作
    }
    };

// 任何地方都可以随时使用这个单例
Database::getInstance().query("SELECT * FROM users");



谁来负责单例的销毁
是否应该允许从单例派生
如何以线程安全的方式初始化单例
当单例互相依赖时 应该以何种顺序初始化这些单例  (静态初始化顺序问题)

## 构建良好的接口
函数应该通过接口 (而不是全局变量)进行沟通。
1. 接口明确
2. 保持较低的参数数目
c++

头文件 重复包含宏处理

2024-8-19 7:45:58

c++

c++ 小技巧

2024-10-10 14:49:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索