본문 바로가기

Flutter-플러터/플러터 공부

코드 리팩토링 중 (1)

반응형

 

 

일기월장 가계부를 코드 리팩토링 하고 있습니다. 

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
반응형