ope*_*rog 1 architecture orm design-patterns datamapper
有四个类:
StudentBase,CourseBase和 StudentDataMapper,CourseDataMapper
Student对象可以与Course对象建立关系.一个学生可以有很多课程.许多学生可以参观一门课程.
在ER图中,学生实体具有称为"课程"的属性,但课程对他的学生一无所知.一门课程没有属于"学生"的属性作为回报.
哪些类应该执行关系的创建?
编辑:这是系统层!在业务逻辑层中,开发人员将StudentBase和CourseBase子类化为创建Student类和Course类.除了自己的业务逻辑代码之外,创建这些类的开发人员将看不到任何代码.
都不是.
首先,ERD应该改变; 你所描述的是多对多的关系(一门课程可以有很多学生和一个学生很多课程).因此,学生不应该有课程属性,而应该有一个学生课程实体.
然后应该有一个StudentCourseDataMapper类来完成你所要求的(维护关系),StudentDataMapper和CourseDataMapper都应该知道并使用它.