アプリの無料版と有料版があるとしましょう。有料版は、ユーザーが利用できる機能に関する無料版のスーパーセットです。つまり、有料版は無料アプリのすべての機能に加えて追加機能を備えています。
起動時にロードされるフラグ(無料/有料など)に基づいて機能の可用性を切り替えるパターンはありますか?
どこにでも以下のコードブロックを用意するのは好きではありません。
if(isFreeVersion){
// ...
} else {
// ...
}
すべてのバージョンのために2つの別々のgitのブランチを持つことは、それは2を維持(またはそれ以上)のコードのソースを意味しますので、オプションではありません、一般的には非現実的と思われる、よりここで議論されています。バージョン管理で同じコードベースから二つの個別のソフトウェアバージョンを維持します。
これを行う方法はありますか?それでも、単一のコードベースがあり、無料/有料フラグをチェックする条件ステートメントでコードを散らかしていませんか?
これは以前に何度も議論されたと確信しており、この問題に取り組むためのいくつかのパターンがあると確信していますが、それを見つけることができません。
Android / Javaを使用しています。
if
、禁止されている機能のコントロールを非表示にするためのチェック、またはユーザーが許可されていないことをしようとしたときにポップアップダイアログを表示するためのチェックであると思います。コードで多くの条件を回避する方法を見つけたいと思っています