共享库的公共或多个头文件
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);
}
感谢您的帮助...如果需要,请随时评论整个想法....
很多大型项目两者兼而有之。他们为基本部分提供单独的头文件,然后提供仅包含每个单独头文件的整体头文件以方便使用。
我正在构建一个 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);
}
感谢您的帮助...如果需要,请随时评论整个想法....
很多大型项目两者兼而有之。他们为基本部分提供单独的头文件,然后提供仅包含每个单独头文件的整体头文件以方便使用。