-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
배경
앱을 개선하고 방향성을 변경하면서 두가지 요구사항이 발생했다.
- 도서 검색 API를 국내용, 해외용 두가지 사용해야한다.
- 코어데이터 구조를 나타내는 엔티티의 이름이 모호하고 속성에도 변경이 필요하다.
이 때 아래와 같은 문제가 발생했다.
- API 마다 Response를 decoding 하기 위한 객체를 만들어줘야한다.
- 상황에 따라 서로 다른 API를 사용해야하고, decoding하여 객체를 매핑해주는 함수 또한 각각 다르게 사용해줘야한다.
- 코어데이터 엔티티 이름을 변경하고 속성을 변경하는 경우, 이 변경이 영향을 미치는 모든 파일을 수정해줘야한다. (변경에 취약한 상태)
- 실제로 코어데이터 엔티티 이름을 변경하고 속성들을 변경하다보니 모든 파일에서 명칭 문제로 수정이 불가피해졌고, 이는 많은 시간을 소요하게 했을 뿐만 아니라 오류 가능성으로 인한 불안함을 증가시켰다.
고민사항
- 두 가지 API를 사용하는 함수, 객체를 각각 작성해야하는데 어떻게 하면 코드를 최대한 재사용하여 만들 수 있을까?
- 데이터 구조체와 다른 객체들간의 결합도를 어떻게 낮출 수 있을까?
내 생각
오늘은 2번에 대해 학습하고 정리해보겠다.
클린 아키텍쳐 with mvvm 글들에서 관련 내용을 간단히 접해볼 수 있었다
Reactions are currently unavailable