아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
뱅크샐러드 favicon뱅크샐러드

뱅크샐러드 iOS, 모듈 구조 개선으로 개발 효율 UP!

by DD
2023-11-22
2년 전
조회수 10

Shared 모듈의 비대화로 인해 의존성 문제 발생, 모듈 분리 결정

Constant, SwiftExtension, DIContainer 등 독립 모듈로 분리하여 코드 재사용성 향상

의존성 역전 원칙 적용, DataInterface 모듈 분리로 유연한 구조 확보

Shared 모듈 분리의 기술적 배경

초기 단일 모듈 구조는 개발 속도를 높였지만, 코드베이스 증가로 Shared 모듈의 역할 모호성이 발생했다. 구체적으로, Live Activity 기능 도입 과정에서 SwiftUI와 SwiftConcurrency 사용으로 인해 기존 Shared 모듈의 의존성 문제가 심화되었다. 따라서, 모듈 분리를 통해 각 모듈의 독립성을 확보하고, 코드의 재사용성을 높였다.

의존성 역전 원칙(DIP) 적용의 효과

DataInterface 모듈 분리를 통해 Data 레이어의 유연성을 확보했다. 기존에는 Data 모듈이 인터페이스를 가지고 있어, 데이터 출처 변경 시 Domain 모듈 수정이 불가피했다. DIP 적용 후, Domain 모듈은 DataInterface에 의존하여 Data 모듈의 구현 변경에 독립적으로 대응할 수 있게 되었다. 따라서, 확장성과 유지보수성을 동시에 개선했다.

모듈 구조 개선, 실전 적용 가이드

모듈 분리 시, 사용하지 않는 코드 제거 및 책임 분리를 우선적으로 진행한다. 구체적으로, 각 모듈의 역할을 명확히 정의하고, 의존성 주입(DI)을 통해 결합도를 낮춘다. 따라서, 새로운 기능 추가 시 기존 모듈에 미치는 영향을 최소화하고, 코드의 재사용성을 높일 수 있다. 또한, 모듈 생성 자동화 도구 도입을 고려하여 개발 생산성을 향상시킨다.

모듈 구조를 개선해 더 나은 뱅크샐러드 iOS 앱 개발하기
중급
아키텍처
Swift
SwiftUI
RxSwift
Mobile
Frontend
원문 읽기
원문 읽기

관련 추천 글

macOS에서 Hacker News를 네이티브 앱으로 즐기세요!

해커뉴스 로고

macOS용 USB-C 케이블 진단 앱 'whatcable' 공개

랍스타즈 로고

DEV 커뮤니티 첫 주, 예상 못한 경험과 성장의 기록

데브투 로고

6월의 빛을 모으는 iOS 아케이드 게임 'June Jubilee'

데브투 로고

USB-C 케이블, 이제 메뉴 바에서 속성 확인하세요!

해커뉴스 로고

Skip, Swift/SwiftUI 기반 크로스 플랫폼 개발 도구, 오픈 소스 전환!

해커뉴스 로고
뱅크샐러드 favicon뱅크샐러드
중급
아키텍처
Swift
SwiftUI
RxSwift
Mobile
Frontend

관련 추천 글

macOS에서 Hacker News를 네이티브 앱으로 즐기세요!

해커뉴스 로고

macOS용 USB-C 케이블 진단 앱 'whatcable' 공개

랍스타즈 로고

DEV 커뮤니티 첫 주, 예상 못한 경험과 성장의 기록

데브투 로고

댓글 0

첫 번째 댓글을 남겨보세요!