如何决定方法是否应该进入数据定义 class (DDC) 或实现 class

How to decide if a method should go in a data definition class (DDC) or the implementation class

我认为这是一个相当简单的问题,我只是没有答案,因为我对编程还比较陌生。我已经编程一年多了,但我正在和另一个人一起做一个项目,我们在哪些方法应该用在哪里方面存在一些分歧。我不在乎是否正确,但我想知道确定做什么的最佳做法是什么。

一般性问题:是否有关于如何决定一个方法应该进入 DDC class 还是应该进入实现的经验法则class? 真的重要吗?

例如,我们有两个 classes:学生和辅导员。一个学生有一个时间表列表(最多 4 个),每个时间表包含多门课程。两个用户都可以为学生创建时间表。他们还可以查看当前时间表和查看过去的时间表。这些方法的逻辑是否应该在实现中 class 并且只调用某些方法 (getSchedules) 并以某些方式操纵它以执行我们想要的功能,或者逻辑是否可以在 DDC 本身和我们的实现中只需调用实现中的特殊方法 class?

在这种情况下,为避免重复代码,声明应放在 DDC 中。另一种方法是创建一个新的 class 用户,由学生和辅导员共同扩展。但是,您永远不应该在两个不同的 classes 中两次编写相同的方法。

原因是以后要修改代码的时候,修改不止一次就比较麻烦了。在较大的项目中,这可能会成为一个大问题。