我有一个针对不同目标具有相同代码库的项目,这些目标需要为某些变量提供不同的值。实现这一目标的最佳方法是什么?以下是我的想法:
- 使用包含每个目标值的不同属性列表资源。缺点:我必须在运行时解析属性列表才能获取值。如果有人查看应用程序包内部,这些值就会清晰显示。
#define
在不同的包含文件中使用s。缺点:对于每个新目标,我必须使用宏条件来在实现中包含正确的文件。- 为每个目标使用不同的实现文件:
- 具有恒定的全局变量。缺点:命名空间被这些全局变量污染了。
- 使用一个属性是变量的类。缺点:每个实现都必须重写属性的胶水代码。
有没有人有好的解决方案?还是将通用代码库分解为库并每次使用不同的项目更好?