MVVM아키텍처를 적용하게 되면 아래와 같은 폴더구조가 된다 아래 폴더 구조를 기본으로 추가적인 화면이나 도메인이 추가될때 마다 확장해나가면 될것이다. /data /model - post.dart /repository - post_repository.dart /datasource - local_datasource.dart - remote_datasource.dart /ui /post - post_list_view.dart - post_list_viewmodel.dart - post_detail_view.dart - post_detail_viewmodel.dart - post_pages.dart /ui View와 ViewModel에 해당하는 파일들이 있으며, 하나의 주제 혹은 도메인 단위로 폴더를 생성한다..
Data Layer App전체에 필요한 데이터를 제공하는 곳으로, Repository 패턴으로 구성되어 있다. 보통 ViewModel이 Repository에 필요한 정보를 요청하게 되고, RemoteDataSource, LocalDataSource를 통해 외부혹은 내부스토리지의 데이터를 가져오거나 갱신한다. Repository 데이터 저장소라는 의미의 Repository는 실제 ViewModel에서 Data Layer에 접근하는 객체이다. 보통은 특정 도메인 별로 Repository를 만들게 되는데 예를 들면 UserRepository, PostRepository와 같은 형태로 구분해서 만든다. 위 에서 확인 할 수 있듯이 ViewModel은 여러 Repository를 참조할 수 있으며, 각 Reposi..
모바일 앱 개발을 하게 되면 기본적으로 필요한 구조와 기능이 있다. Android, iOS앱 할것 없이 결국 앱이 구현해야 하는 최종 기능은 같다. Flutter로 앱을 만들때도 마찬가지다. 앱을 개발한다면 앱의 확장성과 유지보수의 편의성을 고려해서 꼭 아키텍처를 적용하는 것이 필요하다. 개인적으로 모바일 앱에 가장 적합한 아키텍처는 MVVM이라고 생각한다. Flutter로 앱을 개발할때 Andorid 앱 개발에 사용하던 MVVM 아키텍처를 어떻게 하면 Flutter 특성에 맞게 잘 적용 시킬 수 있을지 많은 고민을 했었다. Android개발자중 MVVM이 AAC (Android Architecture Component)로만 사용할수 있는 기능처럼 생각하는 사람들도 있는데 MVVM은 AAC가 없이도 개발..
- Total
- Today
- Yesterday
- Widget Tree
- Mutiple Flutter
- DART
- flutter2.0
- enum member
- LocalKey
- Android
- dart enum
- flutter element
- Element LifeCycle
- Flutter TDD
- RenderObject
- flutter 다국어처리
- Route
- flutter l10n
- Flutter
- MVVM
- flutter_secure_storage
- json_serializable
- dart 2.17
- flutter mvvm
- freezed
- flutter i18n
- StatefulWidget LifeCycle
- navigator
- widget element
- python3
- Flutter3.0
- Flutter LifeCycle
- FlutterEngine
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |