올리브영 앱 - 아키텍처 도입 1탄
5
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

올리브영 앱의 클린 아키텍처 도입

올리브영은 앱(Android, iOS)의 유지 보수를 용이하게 하기 위해 클린 아키텍처를 도입하게 되었습니다. 초기 앱에서는 강하게 결합된 God Class와 God Object가 문제였고, 유지 보수 시 사이드 임팩트를 걱정해야 하는 상황이었습니다. 이를 해결하기 위해 우리는 고객 중심의 사고로 관심사를 분리하고, 계층 구조를 적용하여 코드 품질을 향상시키고자 하였습니다.

클린 아키텍처 구성

  • 엔티티(Entities): 업무 규칙을 정의하고 외부 변경에 영향을 받지 않는 영역.
  • 유즈 케이스(Use Cases): 어플리케이션에 특화된 업무 규칙으로 데이터 흐름을 조합.
  • 인터페이스 어뎁터(Interface Adapters): 외부 장치와 소통하며 데이터를 변환.
  • 프레임워크와 드라이버(Frameworks & Drivers): 시스템 도구들로 구성되며, 고수준 계층을 보호.

올리브영 앱은 이러한 클린 아키텍처를 기반으로 각 플랫폼에서 동일한 비즈니스 구조를 적용하고 있으며, 도메인 레이어의 설계가 가장 큰 도전 과제였습니다. 최종적으로, 클린 아키텍처 도입은 팀원 간의 협의와 목표 공유가 중요하다는 교훈을 주었습니다.

연관 게시글