반응형
일기월장 가계부를 코드 리팩토링 하고 있습니다.
Get x 상태관리
- local db : sqlite3
- server : firebase, supabae
기존에는 dbhelper 클래스를 만들어서 바로바로 직접 연결을 사용했습니다.
하지만 이러한 방법은 새로운 추가기능을 구현 할 때 위험하다는 생각이 들었습니다.
기존 dbhelper 클래스는 appdata 클래스로 이름을 변경하고
dbhelper에 있는 CRUD 코드는
expense_dao 클래스로로
expense_dao 클래스에서 다시 책임분담을해서
expense_repo 클래스를 만들었습니다.
ui page에서는 expense_repo 클래스에서 받아와서 사용중이네요.
lib/
├── data/
│ ├── local/
│ │ ├── db/
│ │ │ ├── database_helper.dart // SQLite 초기화 및 마이그레이션 관리
│ │ │ ├── expense1_dao.dart // expense_1 테이블 DAO
│ │ │ ├── repeat_expense1_dao.dart // repeatExpense_1 테이블 DAO
│ │ │ ├── expense_dao.dart // expenses 테이블 DAO
│ │ │ ├── repeat_expense_dao.dart // repeatExpense 테이블 DAO
│ │ │ └── merchant_dao.dart // merchants 테이블 DAO
│ │ └── repositories/
│ │ ├── expense1_repository.dart // expense_1 Repository
│ │ ├── repeat_expense1_repository.dart // repeatExpense_1 Repository
│ │ ├── expense_repository.dart // expenses Repository
│ │ ├── repeat_expense_repository.dart // repeatExpense Repository
│ │ └── merchant_repository.dart // merchants Repository
└── main.dart
가장 큰 문제는
Moneytrackder controller 부분입니다.
현재 이 controller 에서 일별, 통계, 달력, 결산 페이지, 반복 페이지를 다 담당하고 있네요.
잘 풀어나가야 할 것 같습니다.
728x90
반응형
'Flutter-플러터 > 플러터 공부' 카테고리의 다른 글
Fltutter - flutter local notification not working in release (0) | 2024.08.08 |
---|---|
Flutter Google login 개삽질 오류 (0) | 2024.05.17 |
Flutter sqlite3 파일 엑셀로 공유하기 (0) | 2024.05.05 |
Flutter - Calculator 패키지 (0) | 2024.04.28 |
Flutter - xcode 빌드 오류 (0) | 2024.04.23 |