iOS 프로그래밍🍎: Entity와 Value Objects

Entity는 Identifier를 가진 Model입니다. Value Objects는 Identifier가 없는 Model입니다. Value Obejcts는 정체성이 없는 객체이기 때문에 Swift 프로그래밍에서는 주로 struct로 만들고 값 유형 또는 ‘그냥 데이터’ 라고 부릅니다. 반면에 Entity는 class, struct, enum으로 만들 수 있습니다. 💡💬 Entitiy나 Value Obejcts와 별개로 객체가 속성(상태)는 없고 메서드(동작)만 있는 경우도 struct, class, enum으로 만들 수 있고 보통 static 메서드로 구현합니다. 개발을 하다보면 도메인에 따라 모델에 Identifier가 있기도 하고 없기도 합니다. 하나의 예로, Money 모델은 단순한 금액(데이터)을 나타내는 Value Objects 일 수 있습니다. struct Money { let amount: Decimal } Money는 정체성이 없기 때문에 Value Objects 입니다. 값을 비교하여 다른 Money와 비교할 수 있습니다. 그러나, 돈을 인쇄하고 추적하는 시스템에서 작업하는 경우 인쇄된 돈에 아이덴티티를 부여하여 역추적이 가능하도록 할 수 있습니다. struct Money { let id: MoneyID let amount: Decimal } 여기서 Money는ID가 있기 때문에 Entity입니다. 동일한 ID를 가진 두 Entity는 amount가 일치하지 않더라도 동일한 것으로 간주됩니다. 💡💬 비즈니스 로직을 수행하기 위해 서버과 통신해야 하는 경우, 서버와 앱 간 통신 로직을 Entity나 Value Objects 에 추가하는 것은 적합하지 않습니다. 대신 Interactor / Controller / Service 객체를 생성하여 외부 시스템과의 통신을 진행합시다!

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 9월 5일 오후 10:57

 • 

저장 5조회 1,675

댓글 0