代码层区分: 一个版本一套代码,生成多个版本 优点: 完全解耦,互不干扰 缺点: 冗余大,开发维护工作量加倍 编译层区分: 一套代码,通过编译选项区分,编译出多个版本 优点: 解耦效果较好,维护工作量小 缺点: 编译生成的版本多,要做好区分(防呆),否则容易烧错版本。 运行时区分 一套代码,通过系统变量区分,只编译一个版本 优点: 只编译一个版本,运行时判断,使用灵活方便。 缺点: 增加程序逻辑的复杂性,版本判断一定程序上降低了运行效率。