iOS앱 개발🍎: 의미 있는 데이터 모델4

객체, 모듈과 Layer를 넘나들며 모델을 공유하고 전달하는 대신에 객체, 모듈과 Layer마다 별도의 모델, 데이터 전송 표현(TransferObjects 또는 DTO라고도 함)을 사용하는 모델 탈중앙화를 사용하면 코드를 간결하게 유지하고 개발, 사용 및 확장을 쉽게 할 수 있습니다. 하지만 추상화를 헤칠 수 있다는 점에서는 굳이 사용해야 하나? 라는 생각이 들 수 있습니다. 🤔 하나의 예로, ‘User’ 모델을 포함하는 ‘LoginModule’이 있습니다. 그리고 이 LoginModule의 User 모델을 사용하는 4개의 모듈이 있습니다. 핵심은 4개라는 개수가 아닌 많은 모듈에서 각각 DTO를 만드는 것이 과연 모델 탈중앙화의 장점을 오롯이 누릴 수 있는 상황인가? 에 대한 의문이 들 수 있습니다. 💡 항상 모델 탈중앙화를 하여 각각 모듈에 맞는 DTO를 만들 필요는 없다는 것이 제 생각입니다. 당면한 상황에 따라 의사결정을 하면 됩니다. 하지만 통합 모델을 사용하는 경우 하나의 모듈에서만 모델의 변경을 해야 해도 4개의 모듈을 모두 다시 컴파일하고 다시 배포해야 한다는 점을 기억해야 합니다. 모듈, 프로젝트 구조에 따라 이 작업은 많은 작업이 될 수 있습니다. 따라서, ‘모듈을 분리하려는 경우’ 애는 별도의 모델을 사용하는 것이 좋습니다. 모듈식 아키텍처를 지향하는 조직에서는 모델 탈중앙화의 장점을 잘 누릴 수 있다면 좋겠습니다!

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 8월 9일 오전 9:31

 • 

저장 6조회 1,579

댓글 0