디자인 제안이 필요합니다.디자인 - DB를 열고, 삽입하고, 닫을 위치?
가 여기 내 사용자 이야기 : 사용자로
, 나중에 검토를 위해 DB에 내 근무 시간을 저장합니다. 기본 화면에서 버튼을 한 번 클릭하면 간단하게 표시됩니다.
내 응용 프로그램에서이 문제를 처리하는 방법은 사용자가 버튼을 클릭하면 해당 클래스를 인스턴스화하는 팩토리 클래스 (호출 클래스 "X")를 호출하는 것입니다. 이 유형의 작업을 수행하고이를 메인 프래그먼트로 리턴하여 상호 작용하십시오.
클래스 "X"생성자에서 DB 연결을 설정하고 열고이 클래스 메서드 중 하나에서 DB에 새 데이터를 삽입합니다.
제 질문은 - 좋은 디자인입니까? 메모리 누수가 발생합니까? 내가 고려해야 할 것이 있습니까?
내가 도움을 수업의 흐름과 같은 UML을 첨부했습니다 :
+-----------------+ +----------------------+
|MainFragment | | Factory |
|-----------------| |----------------------|
| | | ChooseShiftObject |
| |+---------+----+ | |
| CheckIn() | | |
+-----------------+ | |
+----------------------+
+
|
|
+
|
+ +
+-----------------------+
| Shift |
|-----------------------|
| DB.Open() |
| DB.Insert(bla, bla. bla)
| DB.Close() |
| |
| |
| |
+-----------------------+
고맙습니다. 제 SQLiteOpenHelper 클래스는 Reto Meir이 그의 책에서 설명한대로이며 캐시 된 것으로 알고 있습니다. – Yosi199