GetX란
flutter에서 지원하는 상태 관리 라이브러리이다. 자세한 설명은 나중에 이 글에 추가할 예정이다.
getX에서 추천하는 getx-patternd라는 이름의 패턴이 있다.
관련 사이트에서 이 패턴은 모듈형, 패키지형구조 2개로 만들어낼수있는것같다.
![]() |
![]() |
패키지형 구조 | 모듈형 구조 |
패키지 형은 UI폴더를 따로 두어 view역할을 하는 것 같고 모듈형은 modules에서 view역할과 controller 역할을 하는 것으로 보인다.
이번 포스팅은 패키지형 구조에 관해서 정리한다.
여기서 조금 더 정리하면
Data
Model
Provider
Repository
Controller
UI
Routes
위의 구조로 정리를 해야 한다는 점을 참고하고 아래 설명을 보자
각자 용어가 어디에 쓰이는지 알아보자
Model
정의되는 모든 객체의 요소를 정리하는 클래스를 모으는 곳이다. json으로 보내기와 읽기 메서드를 가지고 있다.
Provider
데이터를 조작하는 역할을 하는 곳이다. 서버에서 데이터를 불러오고 저장할 때마다 사용되는 곳인 것 같다.
Repository
provider에서 호출한 결괏값을 받아서 리턴하는 역할을 하는 곳이다.
Date
위에 말한 3가지를 담는 폴더명이다(번역도 ~~~ 디렉터리일 뿐입니다 ㅋㅋ)
Controller
설명을 보니 규칙이 명시되어있다.
컨트롤러는 GetX 상태 관리에 사용되는 변수 타입인 obs 변수를 생성한다
컨트롤러는 Repository를 통해서 Provider 값을 받을 수 있고 Repository는 컨트롤러당 1개여야 한다.
같은 페이지에서 두 개의 다른 repository를 사용해야 한다면 위젯을 2개를 만들어야 한다.
규칙이 있는 이유는 이후 관리를 용이하게 하기 위해서라고 설명한다.
Routes
페이지 이동을 담당하는 부분이다
간단한 정리는 여기까지 하고 이후에 직접 개발을 진행하면서 적용해본 예시를 게시할 예정이다