可以说我有该应用程序的免费和付费版本。付费版本是免费版本在用户可用功能方面的超集,这意味着付费版本将具有免费应用程序的所有功能以及其他功能。
是否存在根据启动时加载的标志(例如,免费/付费)来切换功能可用性的模式?
我不喜欢到处都有以下代码块的想法:
if(isFreeVersion){
// ...
} else {
// ...
}
每个版本都没有2个单独的git分支是不可行的,因为这意味着要维护2个(或更多)代码源,这在一般情况下似乎不切实际,并在此处进行了更多讨论:在Version Control中从同一代码库维护两个单独的软件版本。
有办法做到这一点,同时仍然只有一个代码库,并且不会用检查自由/已付费标志的条件语句来乱扔代码吗?
我敢肯定这已经被讨论过很多次了,并且我肯定有一些解决这个问题的模式,但是我只是找不到它。
我们使用Android / Java。
if
检查以隐藏控件的禁用功能,或者在用户尝试执行其不允许执行的操作时显示弹出对话框。我希望找到一种避免代码中出现许多条件的方法