这是一个基于舆论的问题,所以没准就会被删除。方法应该在X类还是Y类?
比方说,我有类Teacher
和类Course
。我想创建方法GetCourseId(TeacherId)
将接收作为输入参数TeacherId
并返回一个CourseId
。
该方法应该在类Teacher
或类Course
?
我想我的问题是,如果有,可以归入任何数量的类的方法,应该在哪里它终于去了?有没有一些潜规则呢?
谢谢。
这是一个基于舆论的问题,所以没准就会被删除。方法应该在X类还是Y类?
比方说,我有类Teacher
和类Course
。我想创建方法GetCourseId(TeacherId)
将接收作为输入参数TeacherId
并返回一个CourseId
。
该方法应该在类Teacher
或类Course
?
我想我的问题是,如果有,可以归入任何数量的类的方法,应该在哪里它终于去了?有没有一些潜规则呢?
谢谢。
我经常看到创建第三个类来处理类似这样的事情,其中一个方法需要了解2个类,并且它不适合相当于。
在这种情况下,它会是一个CourseManager
的创建,可以包含类似GetCourseId
,GetCourseByTeachers
,AddCourse
,和其他“管理”任务的方法。
其中许多将作为各种包装 - CourseManager.AddCourse
可能会在构造函数Course
上通过很多工作。
通常我这样定义教师,课程班如Java豆刚刚举行的字段,getter/setter方法和直接使用的字段,不包括任何业务逻辑的一些基本方法。
根据我的应用程序所支持的功能/特性,我创建它通过与其他Java豆通信实现我的企业经营/管理类。
所以,如果我创建了一所大学的一个简单的课程注册申请,我会定义3的Java bean:教师,场,学生除了一些管理类基础我想在我的应用程序中支持的功能,即在我们的案例中注册管理器哪些方法可以执行:registerStudentInCourse(),getStudentCourses(),addCourseTeacher() ..
请注意,我只是分享我的编码方式,人们可能会或可能不会同意它。
的最简单的解决方案将基于基数在Teacher
类(OneToOne或一对多)被具有象
private Course course
或
private Set<Course> courses
的性质。它可能是ManyToMany,也取决于需求和数据建模。您可以使用getter/setter方法获取或设置分配给教师的课程。
除了这个,如果关系是双向比你可以在课程类中具有类似的属性。在双向映射的情况下,您可以在Teacher
类中使用实用程序方法,如registerCourse
,它将设置实体之间的适当关系。
public boolean registerCourse(Course course){
this.course = course;
course.setTeacher(this);
}
你也可以在Course类中有这种实用方法。