인프런 커뮤니티 질문&답변

dubai님의 프로필 이미지
dubai

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

상태 설계 관련 질문드립니다.

작성

·

99

0

안녕하세요 코드팩토리님

좋은 강의 제공해주셔서 너무 많이 배워갑니다.

앱 설계 중에 궁금한 점이 생겨서 코드팩토리님의 의견을 들어보고자 질문 남깁니다.

 

하나의 화면에서 여러 개의 프로바이더를 참조하고 있는 경우 모든 프로바이더의 상태가 제대로 fetch 되어야만 화면을 보여주고, 하나라도 상태가 없다면 에러 화면을 보여주는 기능을 만들고 싶습니다.

  1. 이 경우에 화면 단위로 화면과 관련된 상태 (isLoading, isError)를 관리해주는 provider를 만들어주기도 하나요? (ex. HomeScreenProvider)

  2. 만약 이렇게 화면과 관련된 상태를 관리해주는 provider를 만들어준다고 하면 그 provider(HomeScreenProvider) 에서 다른 provider(feature1Provider, feature2Provider ...)를 의존하게 될텐데

    provider 끼리 서로 의존하게 되는게 좋은 설계인지도 궁금합니다. (provider 끼리는 같은 layer라고 생각이 들어서 입니다)

 

감사합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

1) 상태관리는 보통 데이터 지향입니다. 화면별로 상태관리를 하기보단 데이터 기준으로 상태관리를 하고 화면에서 필요한 상태관리를 끌어 씁니다.

2) 의존은 가능합니다. 말씀하신대로 현대 다양한 아키텍처의 관점에서는 (clean architecture, hexagonal architecture, layered architecture, DDD등) 같은 레이어끼리 의존은 좋은 프랙티스는 아닙니다. 하지만 언제까지나 이런 룰을 적용 하셨을때의 이야기고 "내가 생각했을때 이 프로젝트는 이런 형태로 하는게 효율적이야"가 정립 돼있고 같은 레이어 프로바이더끼리 참조가 괜찮다는 정의를 하셨다면 상관 없습니다.

감사합니다!

dubai님의 프로필 이미지
dubai

작성한 질문수

질문하기