Diyelim ki uygulamanın ücretsiz ve ücretli bir sürümü var. Ücretli sürüm, kullanıcıların kullanabileceği özelliklerle ilgili ücretsiz sürümün bir üst kümesidir, yani ücretli sürüm, ücretsiz uygulamanın tüm özelliklerine ve ekstraya sahip olacaktır.
Başlangıçta yüklenen bir bayrağa (ör. Ücretsiz / ücretli) dayalı özellik kullanılabilirliğini değiştirmek için bir model var mı?
Aşağıdaki kod blokları her yerde olması fikri sevmiyorum:
if(isFreeVersion){
// ...
} else {
// ...
}
Her sürüm için 2 ayrı git dalına sahip olmak bir seçenek değildir, çünkü 2 (veya daha fazla) kod kaynağını korumak anlamına gelir, genel olarak pratik görünmez ve burada daha fazla tartışılır: Sürüm Kontrolünde Aynı Kod Tabanından İki Ayrı Yazılım Sürümünün Korunması .
Bunu hala tek bir kod tabanına sahipken ve kodu ücretsiz / ücretli bayrağı kontrol eden koşullu ifadelerle doldurmamak için yapmanın bir yolu var mı?
Bunun daha önce birçok kez tartışıldığından eminim ve bu soruna yaklaşmak için bazı desenler olduğundan eminim, ancak bulamıyorum.
Android / Java kullanıyoruz.
if
yasak özellikler için denetimleri gizlemek veya kullanıcı izin vermediği şeyi yapmaya çalıştığında açılan iletişim kutusu açmak için kontroller olduğunu düşünüyorum.