共享库的公共或多个头文件

Common or multiple header files for shared library

我正在构建一个 C++ 共享库,它将用于访问数据库中的业务对象(本质上是一个 DAL - 数据访问层)。

所以,我基本上有多个对象(业务类),比如:

Customer
Address
Product

对于其中的每一个,我都会有一个提供基本 CRUD 操作的 cpp 文件:创建、读取、更新、删除。我计划将这些操作放入名称空间,如下所示:

customer_access.cpp:

namespace customer_access {

      void create(Customer new_customer) { ...code... };
      void read(int id) { ...code... };
      void update(int id, new_customer) { ...code... };
      void delete(int id) { ...code... };
}

address_access.cpp

namespace address_access {

      void create(Address new_address) { ...code... };
      void read(int id) { ...code... };
      void update(int id, new_address) { ...code... };
      void delete(int id) { ...code... };
}

在这种情况下,对于将包含在外部代码中的共享库头文件的最佳实践是什么:

a) 为库构建一个头文件并构建对所有名称空间的引用:

dalaccess.hpp

namespace customer_access {

      void create(Customer customer);
      void read(int id);
      void delete(int id);
      void delete(int id);
}
namespace address_access {

      void create(Customer customer);
      void read(int id);
      void delete(int id);
      void delete(int id);
}

b) 为每个对象访问构建一个头文件,如:

customer_access.hpp:

namespace customer_access {

      void create(Customer customer);
      void read(int id);
      void delete(int id);
      void delete(int id);
}

address_access.hpp

命名空间customer_access{

  void create(Customer customer);
  void read(int id);
  void delete(int id);
  void delete(int id);

}

感谢您的帮助...如果需要,请随时评论整个想法....

很多大型项目两者兼而有之。他们为基本部分提供单独的头文件,然后提供仅包含每个单独头文件的整体头文件以方便使用。