좋은 소프트웨어 이야기

광고 기반 서비스 플랫폼 통합 개발, MVVM 패턴으로 난관을 넘다: 허스트중앙 매거진 프로젝트 회고

페이퍼스터디 2025. 4. 23. 14:22
반응형

허스트중앙의 여러 매거진(모바일, 데스크톱, 통합 멤버십)을 MVVM(Model-View-ViewModel) 패턴으로 통합 개발했던 경험은 복잡한 요구사항과 촉박한 개발 기간이라는 도전 과제를 극복하고 성공적인 결과물을 만들어낸 값진 경험이었습니다. 광고 기반 서비스 플랫폼 개발의 특성상, 반응형 웹 기술만으로는 모바일 최적화와 데스크톱 환경의 다채로운 광고 배치 및 사용자 경험(UX) 요구를 동시에 만족시키기 어려웠습니다. 특히, 짧은 기간 내에 4개 매거진의 모바일 및 데스크톱 버전, 총 8개 사이트를 구축해야 했고, 공통 로그인 및 OK 캐쉬백 연동이라는 복잡한 기능까지 구현해야 하는 상황이었습니다.

 

 

이러한 난관 속에서 저는 효율적인 개발 및 유지보수 전략으로 MVVM 디자인 패턴을 적극적으로 도입했습니다. WPF(Windows Presentation Foundation) 개발 경험을 통해 깊이 있게 이해하고 있던 MVVM 패턴을 웹 개발 환경에 맞게 적용하여 생산성을 극대화하고자 했습니다. 핵심 전략은 단일 ViewModel을 통해 다수의 View를 관리하는 1:N 구조를 구현하는 것이었습니다. 이를 통해 각 매거진 및 플랫폼별로 유사한 기능을 재사용하고, 코드 중복을 최소화하여 개발 효율성을 높일 수 있었습니다.

 

MVVM 패턴의 적용은 다음과 같은 측면에서 프로젝트 성공에 결정적인 기여를 했습니다.

 

  • 코드 재사용성 극대화: 공통 로직을 ViewModel에 구현하고, 이를 다양한 View에서 공유함으로써 개발 시간을 단축하고 코드의 일관성을 유지할 수 있었습니다. 예를 들어, 사용자 인증 로직이나 광고 데이터 처리 로직 등을 하나의 ViewModel에서 관리하고, 모바일, 데스크톱 화면에 맞춰 View를 구성함으로써 효율적인 개발이 가능했습니다.

  • 유지보수 용이성 확보: Model, View, ViewModel 간의 명확한 역할 분담은 코드의 가독성을 높이고, 특정 기능 수정 시 연관된 부분만 집중적으로 관리할 수 있도록 했습니다. 이는 유지보수 비용을 절감하고, 향후 기능 확장 및 변경에 대한 유연성을 확보하는 데 중요한 역할을 했습니다.

  • 테스트 용이성 증대: 비즈니스 로직을 담고 있는 ViewModel은 UI와 독립적으로 단위 테스트를 수행할 수 있어 코드의 안정성을 높일 수 있었습니다. 이는 개발 과정에서의 잠재적인 오류를 사전에 발견하고 수정하는 데 효과적이었습니다.

 

물론 웹 개발 환경에 MVVM 패턴을 적용하는 과정에서 어려움도 있었습니다. WPF와 웹 환경의 기술적인 차이를 이해하고, 웹 프레임워크의 특성에 맞춰 MVVM 패턴을 효과적으로 구현하기 위한 고민이 필요했습니다. 하지만 과거 WPF 개발 경험을 바탕으로 MVVM 패턴의 핵심 원리를 정확히 이해하고 있었기에, 웹 기술과의 접목점을 찾고 최적의 구조를 설계할 수 있었습니다.

 

결과적으로, MVVM 디자인 패턴을 적용한 전략은 짧은 개발 기간 내에 8개의 사이트를 안정적으로 구축하고, 복잡한 요구사항을 성공적으로 충족시키는 데 크게 기여했습니다. 코드 재사용성을 높여 개발 효율성을 극대화했을 뿐만 아니라, 유지보수 용이성을 확보하여 장기적인 관점에서 효율적인 시스템 운영 환경을 구축할 수 있었습니다.

 

이번 허스트중앙 매거진 통합 개발 프로젝트를 통해 저는 MVVM 디자인 패턴의 강력한 효용성과 다양한 기술 스택에 대한 깊이 있는 이해가 복잡한 프로젝트를 성공적으로 이끌 수 있는 핵심 역량임을 다시 한번 확인할 수 있었습니다. 앞으로도 새로운 기술과 디자인 패턴에 대한 끊임없는 학습과 적용을 통해 더욱 효율적이고 안정적인 시스템 개발에 기여하고자 합니다.

반응형