Market Model과 MyNote Model이 분리되면서 생겼던 문제와 해결들
기존에는 마켓에 올라가는 노트와 마이 노트를 같은 모델로 사용했지만 앱의 볼륨이 커지면서 각각의 컬렉션마다 필요한 필드들이 조금씩 더 추가되거나 달라지기 시작했습니다.
따라서 우리 앱은 마켓에 쓰이는 모델과 마이노트에 쓰이는 모델을 분리했고, 해당 과정에서 몇몇 메서드들의 재사용성이 좋지 않아지는 문제가 발생했습니다.
즉, 각각 모델에 맞는 함수를 따로따로 만들어줘야 하는 문제가 발생했습니다.
이를 해결하기 위해 마켓 모델과 마이 노트 모델이 공통으로 갖고 있는 속성들을 한 곳에 모아 NoteProtocol을 만들어주었고, 두 모델을 ‘추상화’ 시켰습니다.
결과적으로, 두 가지 모델 타입을 모두 받을 수 있는 메서드를 만들 수 있었고, 이런 함수들은 불필요한 메서드 추가를 막고 해당 함수의 재사용성을 높였습니다.
'IOS > Swift' 카테고리의 다른 글
[Swift] 클래스와 구조체 중 무엇을 선택해야할까? 공식문서에서 알려주는 가이드라인 (0) | 2023.06.12 |
---|---|
[Swift] 코테를 위한 문자 타입(String, Character) 문법, 메서드 총정리🧙♀️ (지속 업로드 예정) (1) | 2022.11.18 |
[Swift] 범위연산자 (0) | 2022.11.18 |
[Swift] switch 문에서 비교할 조건이 여러 개일 때 (0) | 2022.11.18 |
[Swift] 코테에서 쓰이는 배열 관련 문법, 메서드 정리 (지속 추가 예정) (0) | 2022.11.18 |