2026.02.12 (목)
Troble Shooting: Entity와 DTO의 분리 및 데이터 바인딩

팀 프로젝트 Healthy bag 진행 중, 외부 API나 Firebase에서 받아오는 데이터 구조 (DTO)와 앱의 핵심 비지니스 로직에서 사용하는 데이터 구조 (Entity)를 하나로 합쳐서 사용할지, 분리해야 할지에 대한 혼란이 발생함.
특히 Comment와 Feed 데이터를 UI에 바인딩하는 과정에서 모델의 역할이 모호해지는 문제
Model(Entity) 정의: Comment와 Feed를 순수한 Dart 객체인 Entity로 정의하여 도메인 계층에 위치시킴. (UI는 오직 이 Entity만 바라보게 함)
DTO 및 Mapper 활용: fromJson, toJson 등을 포함한 DTO를 데이터 계층에 두고, 이를 Entity로 변환해 주는 별도의 로직을 구현.
UI 데이터 바인딩 분리: 기존의 복잡한 홈페이지 UI 코드에서 데이터 로직을 분리하여, 전달받은 Entity를 위젯에 주입하는 방식으로 리팩토링 진행.
클린 아키텍처는 처음 설계할 때는 번거롭지만, 프로젝트가 커질수록 유지보수에서 강력한 힘을 발휘한다..!