더북(TheBook)

이 문제에 대한 기본적인 아키텍처는 사용자가 이용할 수 있는 기능 정보를 단일 시스템 요소에 집중시키는 것입니다. 그리고 이 정보를 애플리케이션이 실행되는 동안 런타임 환경에서 인터페이스를 이용하여 동적으로 변경할 수 있어야 합니다. 이를 위해 인터페이스는 라이선스 상태를 조회하는 API를 포함해야 하며, 다른 시스템 요소가 라이선스 상태 변경을 알 수 있도록 알림 메커니즘을 구현해야 합니다.

이 접근 방식은 인앱 결제 방식에 적용할 수 있을 뿐만 아니라 앞서 살펴본 여러 버전의 개별 애플리케이션 패키징 방식에도 적용할 수 있습니다. 다만 개별 애플리케이션 패키징 방식에서는 특정 기능이 컴파일할 때 제외되면 그 기능은 동적으로도 전혀 사용할 수 없어 인터페이스를 두는 것이 다소 불필요해 보일 수도 있습니다. 그럼에도 인터페이스가 실제 동적 수준을 추상화하기 때문에 시스템의 다른 요소는 라이선스 세부 사항을 알 필요가 없다는 장점이 있습니다. 무엇보다 이러한 인터페이스를 사용하면 앞서 살펴본 두 가지 접근 방식을 모두 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.