Skip to content

[기록] 동일한 역할을 하는 객체들을 하나의 타입으로 묶어보자 #5

@SH0123

Description

@SH0123

배경

앱을 개선하고 방향성을 변경하면서 두가지 요구사항이 발생했다.

  • 도서 검색 API를 국내용, 해외용 두가지 사용해야한다.
  • 코어데이터 구조를 나타내는 구조체의 이름이 모호하고 속성에도 변경이 필요하다.

이 때 아래와 같은 문제가 발생했다.

  • API 마다 Response를 decoding 하기 위한 객체를 만들어줘야한다.
  • 상황에 따라 서로 다른 API를 사용해야하고, decoding하여 객체를 매핑해주는 함수 또한 각각 다르게 사용해줘야한다.
  • 코어데이터 구조체 이름을 변경하고 속성을 변경하는 경우, 이 변경이 영향을 미치는 모든 파일을 수정해줘야한다. (변경에 취약한 상태)

고민사항

  1. 두 가지 API를 사용하는 함수, 객체를 각각 작성해야하는데 어떻게 하면 코드를 최대한 재사용하여 만들 수 있을까?
  2. 데이터 구조체와 다른 객체들간의 결합도를 어떻게 낮출 수 있을까?

내 생각

오늘은 1번에 대해 학습하고 정리해보겠다.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions