Flutter-플러터/플러터 공부
코드 리팩토링 중 (1)
일기월장
2024. 10. 6. 13:57
반응형
일기월장 가계부를 코드 리팩토링 하고 있습니다.
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 에서 일별, 통계, 달력, 결산 페이지, 반복 페이지를 다 담당하고 있네요.
잘 풀어나가야 할 것 같습니다.

반응형