Skip to content

블루베리 템플릿 아키텍쳐

Jungwoo edited this page Jul 22, 2024 · 1 revision

일반적인 플러터 아키텍쳐

a1

블루베리 템플릿 아키텍쳐

a1 a1

목적

누구라도 이해, 사용하기 쉽도록 최대한 세분화 하여 기능과 위젯을 쪼개어 둔다.

요약

  • 데이터를 가져오는 코드는 Provider 만으로 해결한다.
  • 데이터를 보내기만 하는 코드는 Service 만으로 해결한다.

장점

구현이 간단합니다.

  • 아키텍처가 단순하기 때문에 개발 속도가 빠릅니다. 작은 프로젝트나 프로토타입 개발에 적합합니다.
  • 코드의 양이 적어 관리가 쉬워집니다. 초기 설정 및 구조 설계에 많은 시간이 들지 않습니다.

디버깅이 쉽습니다.

  • 데이터 흐름이 단순하고 명확하여 디버깅이 쉽습니다. 문제가 발생했을 때 원인을 찾기 쉬워집니다.

러닝 커브가 낮습니다.

  • 복잡한 아키텍처 패턴을 배우지 않아도 되어, 초보 개발자도 쉽게 접근할 수 있습니다.

단점

중복되는 코드가 많이 발생합니다.

  • 프로젝트가 커지면 코드가 중복될 가능성이 높습니다. 변경 사항이 있을 때 여러 곳을 수정해야 할 수 있습니다.

확장성 부족:

  • 각 기능이 명확하게 분리되지 않아 모듈화가 어렵습니다. 새로운 기능 추가나 변경이 복잡해질 수 있습니다.

상세 운용 방법

a1

구현 시 주의할점

  • 하나의 위젯에 하나의 프로바이더만 연결, 위젯을 최대한 쪼개어 사용한다.
  • 프로바이더 간의 의존관계가 생성되는 것이 가장 최악이다. ( 예 : A 프로바이더 안에서 B 프로바이더를 사용중 )