개발/Flutter

Flutter GetX 패턴으로 프로젝트 구성해보기(2) - getx_pattern

T'Challa 2021. 6. 8. 23:48

막상 GetX를 사용해서 프로젝트를 진행하려니 어떤 식으로 프로젝트를 구성해야할 지 감이 안왔다.

그래서 GitHub을 좀 뒤지다보니 GetX 개발 표준을 제안하는 것이 있어서 참고해서 프로젝트를 진행해보려고 한다.

https://github.com/kauemurakami/getx_pattern

 

kauemurakami/getx_pattern

Design pattern designed to standardize your projects with GetX on Flutter. - kauemurakami/getx_pattern

github.com

 

getx_pattern에서 제안하는 GetX를 사용하는 프로젝트 구조는 Package와 Module 두 가지이다.

 

Structures in Packages

 

Structures in Modules

Package 형태가 내가 진행하려는 프로젝트와 더 잘 맞는 것 같아 일단은 Package 형태로 살펴봐야겠다.

 

Structure 설명

Model

객체에 대한 모든 모델 클래스를 그룹화한 디렉토리

 

Providers

데이터 Provider(API or Database)를 그룹화한 디렉토리

 

Repository

단일 데이터 액세스 포인트이며 엔티티를 추상화함

 

Data

데이터와 관련된 모든 것(Repository, Providers)를 저장하는 디렉토리

 

Controller

컨트롤러는 비즈니스 로직, 상태 변경에 대한 책임만 있음

이벤트를 포함하는 Observable(.obs)을 생성하는 곳

 

UI

유저가 보는 위젯, 애니메이션, 텍스트, 테마 등이 있는 디렉토리

 

Routes

Routes 관리를 담당하는 파일이 있는 디렉토리

 

Binding

Dependency Injection을 분리하는 클래스

상태 관리자 및 Dependency 관리자로 라우팅 됨

 

일단은 위와 같이 각 용어들에 대한 정의는 확인해봤으나 와닿지가 않는다..

다음에 코드로 보면서 확인을 해봐야할 것 같다.