43 lines
1.0 KiB
Markdown
43 lines
1.0 KiB
Markdown
# 10 MVC 骨架模板
|
|||
|
|
|
||
|
|
这是一个适合教学用的 MVC 命令行项目骨架,内置学生增删改查。
|
||
|
|
|
||
|
|
运行方式:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python main.py
|
||
|
|
```
|
||
|
|
|
||
|
|
目录说明:
|
||
|
|
|
||
|
|
```text
|
||
|
|
10_mvc_template/
|
||
|
|
main.py
|
||
|
|
models/
|
||
|
|
student.py
|
||
|
|
repositories/
|
||
|
|
student_repository.py
|
||
|
|
controllers/
|
||
|
|
student_controller.py
|
||
|
|
views/
|
||
|
|
cli_view.py
|
||
|
|
```
|
||
|
|
|
||
|
|
分层职责:
|
||
|
|
|
||
|
|
1. model:定义学生数据结构。
|
||
|
|
2. repository:负责保存和读取学生数据。
|
||
|
|
3. controller:负责业务流程。
|
||
|
|
4. view:负责输入和输出。
|
||
|
|
5. main:程序入口。
|
||
|
|
|
||
|
|
思考题:
|
||
|
|
|
||
|
|
1. 如果要增加老师管理,应该新增哪些文件?
|
||
|
|
2. Teacher 类应该有哪些字段?
|
||
|
|
3. TeacherController 里面应该有哪些方法?
|
||
|
|
4. 如果要增加课程管理,Course 类应该有哪些字段?
|
||
|
|
5. 课程和老师是什么关系?课程和学生是什么关系?
|
||
|
|
6. 如果 students.json、teachers.json、courses.json 都存在,应该放在哪个目录?
|
||
|
|
7. input 和 print 为什么不建议写在 model 里?
|