-
Notifications
You must be signed in to change notification settings - Fork 4
🎯 Request와 Response를 처리하는 규칙
KyungHyeon edited this page Apr 24, 2023
·
8 revisions
- Response를 Presenatation 계층에서 만들기 위해 도메인 모델을 반환한다면, Presentation 계층에서 도메인 모델의 메소드를 호출하거나 상태를 변경할 수 있다.
- 도메인 모델은 Presentation 에서 불필요한 정보와 속성이 노출되어 보안 문제가 발생할 수 있다.
- 도메인 모델과의 결합이 강하게 연결되어 버리기 때문에 Response를 Application 계층에서 만들어야 한다.
- WebAdapter는 Request의 인자를 알 필요가 없어진다.
- 인자 해제는 변경에 대처가 힘들고, 자체적으로 인자 해제로 인한 실수 방지가 어렵다.
- data class의 인자가 정말 자주 사용될 경우에만 사용하기로 하자
- 동작의 순서를 나타낼 때 let 사용
return data
.map(Data::Id)
.let {
Response(
data1 = it,
data2 = data2
)
}- Response의 인자가 한 개일 때 메서드참조 이용
return data.let { Response(it.data1) }
↓
return data.let(::Response)