FlutterㅣProvider 기본 이론

휘Bin·2023년 7월 29일
0
post-thumbnail

Provider란?

Provider는 플러터 커뮤니티에서 만든 플러그인이었으나, 현재는 구글에서 추천할 정도로 편리하다. 원래 구글은 Provider가 아닌 Bloc 패턴 사용을 권장했었다.

이유는, 플러터는 UI와 Design 모두 소스코드로 관리지 않으면 한 클래스에 여러 코드가 몰리는 문제점이 있었다. 이를 해결하기 위해 구글은 UI와 데이터 처리 로직을 분리하기 위해 Bloc 패턴을 제공했었다. 하지만 Bloc 패턴은 사용하기 어렵다는 단점이 있었고, 단순한 로직을 구성하는데 최소 4개의 클래스를 만들어야 했었다.

Provider는 여러가지 상태 관리 중에서도 쉬운 편에 속한다.

Provider는 크게 '생성 부분'과 '소비 부분'으로 나누어 생각하면 쉽다.

생성 부분에서는 사용할 데이터 타입을 결정하고 해당 데이터에 대한 Provider를 만들고, 소비 부분에서는 Provider를 통해 데이터를 불러오거나 수정하는 등의 작업을 진행한다.

Provider 패턴 사용 이유

  1. 관심사의 분리
  • 여기서 관심사는 어떤 코드가 하는 일을 말한다.
  • 코드의 역할은 UI, 네트워크 db를 담당하는 코드처럼, 하는 일에 따라 나눌 수 있다. 보통 한 클래스가 여러 관심사를 가질수록 클래스가 커지고 관리가 어렵다. 따라서 클래스가 하나의 역할만 갖도록 클래스를 분리하는 것이다.
  1. 데이터의 공유
  • 하나의 데이터를 여러 페이지에서 사용할 때 페이지마다 인증 정보를 불러오게되면 코드가 매우 복잡해질 것이다. 이럴 때 Provider 패턴을 사용해 데이터 공유를 쉽게 할 수 있게 한다.
  1. 간결한 코드
  • Bloc 패턴의 경우 클래스들을 역할별로 나누기 좋지만 코드가 복잡해지는 경향이 있다. 대신 Provider를 사용하면 좀 더 적은 코드로 클래스들을 구분해 사용할 수 있게 된다.

※ 참고 : https://kimiszero.tistory.com/92

profile
One-step, one-step, steadily growing developer

0개의 댓글

관련 채용 정보