我正在构建一个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);
}
感谢您的帮助......如果需要,请随时评论整个想法......
答案 0 :(得分:2)
许多大型项目都做到了。它们为基本部分提供单独的头文件,然后提供整体头文件,其中包含每个单独的头文件以方便使用。