앱의 흐름부터 설명드리겠습니다.
바텀 내비게이션을 사용중입니다
A, B, C 프래그먼트가 존재합니다.
A -> B -> C 프래그먼트 순으로 이동하는 순서이고
B에서 어떤 데이터를 선택하고, 이 데이터를 C로 보냅니다.
C 에서는 이 데이터에 대한 상세 페이지를 작성하는 페이지입니다.
C에서 작성을 다 하면, 저장 버튼을 눌러 페이지가 종료됨가 동시에 A로 이동합니다.
현재는 C에서 저장 버튼을 누를떄 DB에 저장하고 있습니다.
이제 A로 돌아와 A에서는 C에서 DB에 저장했던 데이터를 불러와 뷰에 뿌려줍니다.
여기까지는 잘 동작하기는 했습니다..
생각해보니 A프래그먼트에서도 이 종합적으로 받은 데이터를 최종적으로 DB에 저장해야한다는 것입니다.
그래서 저는 C에서도 저장하고 A에서도 저장하는것은 이상하니.. (C에서 이미 DB에 저장했으니까요..)
C에서는 그냥 A로 데이터를 보내기만하고 A에서 최종저장을 하려고 계획을 변경하려고 합니다.
이제 질문을 드리면 C에서 사용하던 Entity 클래스를 A로 보내려고하는데..
지난번에 질문드렸을때처럼 safeArgs랑 Parcelable을 이용하려고합니다.
그런데 A는 프래그먼트 즉 Presentation레이어이고 Entity 클래스는 Data 레이어이고
계층구조가
Presentation -> Domain -> Data 이렇게 되어있는데
Entity 클래스가 속한 Data 레이어에서 Fragment인 Presntation으로 데이터 전달은 이상한것 같습니다
지난번에 Parcelable을 사용해도 되는데 이러한 계층간 이동은 하지말라고 하신게 이뜻인것 같은데요..
질문이
1. 제가 궁금한게..C 프래그먼트에서 Entity클래스를 A프래그먼트로 보내는거니까 Presentation 간의 이동이라고 이해하면 안될까요?
2. 1번은 저러한 것으로 이해하면 안되는지 질문드린거였고, 지금 상황처럼 Entity 클래스처럼 Data레이어에서 Presentation으로 데이터를 알맞게 전달하려면 어떻게 해야하나요?
3. 현재는 C에서 DB에 저장하고 있다고 말씀드렸는데, 이 말은 C에서 Entity를 사용하고 있다는 말이잖아요?이제 A로 데이터를 보내기만하는 것으로 계획을 변경하면 Entity 클래스는 C에서 저장하지 않기에 필요가 없어지는데 일반 클래스로 만들어 A에로 보내고 A에서 저장할때 이 Entity 클래스로 맵핑하여 사용하는 방식으로 해야하나요 아니면 그냥 그대로 계속 Entity 클래스를 사용해도 되나요?