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

时间:2015-04-22 00:08:42

标签: c++ header shared-libraries header-files

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

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

Customer
Address
Product

对于每一个,我将有一个cpp文件提供基本的CRUD操作:创建,读取,更新,删除。那些操作我打算放入命名空间,如下所示:

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);

}

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

1 个答案:

答案 0 :(得分:2)

许多大型项目都做到了。它们为基本部分提供单独的头文件,然后提供整体头文件,其中包含每个单独的头文件以方便使用。