Android的新手,试图在sql lite数据库中保存和查看一些信息。我的表格如下:
Student Course Registration
------- ------ ------------
id (PK) id(PK) sid, cid (PK)
name name term
email credit
据我了解,MVC的Model部分将存储所有业务逻辑,因此我的'Student','Course'和'Registration'类将具有所有get / set方法。我有一个扩展SQLiteOpenHelper的DBHelper类,正如我在许多教程中看到的,这个类通常包含所有CRUD操作。
但我的问题是,因为我有多个表可供使用,我应该在哪里放置CRUD操作,如addStudent(),addCourse(),addRegistration()。我认为拥有一个包含Universe中所有CRUD方法的非常大的DBHelper类是不可行的。在一些示例中,我也在MainActivity中看到了视图操作(例如viewStudent())。这是一个很好的方法吗?一个例子(使用Classes及其方法)将受到高度赞赏。
答案 0 :(得分:0)
您的CRUD操作应该在Repository或DAO层中。
studentRepository.save(student);
如果使用域驱动设计,您的业务逻辑应位于服务层或域模型中。服务层使用存储库层来保存和检索数据。
studentService.registerStudentInCourse(student, course);
MVC中的模型也可以表示非域模型,例如LoginForm。它们与域模型略有不同,因为它们代表View的数据。 MVC模型可以是域模型,但并非必须如此。 MVC模型可以组合多个域模型。