무료 및 유료 버전의 앱이 있다고 가정 해 보겠습니다. 유료 버전은 사용자가 사용할 수있는 기능과 관련하여 무료 버전의 상위 세트입니다. 즉, 유료 버전에는 무료 앱의 모든 기능과 추가 기능이 포함됩니다.
시작시로드되는 플래그 (예 : 무료 / 유료)를 기반으로 기능 가용성을 토글하는 패턴이 있습니까?
나는 어디에서나 다음 코드 블록을 갖는 아이디어를 좋아하지 않습니다.
if(isFreeVersion){
// ...
} else {
// ...
}
모든 버전이 별도의 자식 가지를 갖는 것은이 둘을 유지 (또는 그 이상)의 코드 소스를 의미하기 때문에 옵션이 아닙니다, 일반적으로 실용적이지 것보다 여기에 설명되어 있습니다 : 버전 제어에서 동일한 코드베이스에서 두 별도의 소프트웨어 버전을 유지 .
단일 코드 기반을 유지하면서 무료 / 유료 플래그를 확인하는 조건문으로 코드를 낭비하지 않는 방법이 있습니까?
나는 이것이 전에 여러 번 논의되었다고 확신 하고이 문제에 접근하는 데 몇 가지 패턴이 있다고 확신하지만 찾을 수는 없습니다.
우리는 Android / Java를 사용합니다.
if
금지 된 기능에 대한 컨트롤을 숨기거나 사용자가 허용되지 않은 작업을 시도 할 때 팝업 대화 상자 가 있는지 확인 하는 것이 대부분이라는 것을 알았 습니다. 코드에서 많은 조건을 피할 수있는 방법을 찾고