java - 如何决定方法应该进入数据定义类 (DDC) 还是实现类

标签 java algorithm logic

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

一般问题:关于如何决定一个方法应该进入 DDC 类还是应该进入实现类,是否有经验法则?无论哪种方式都有效,真的重要吗?

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

最佳答案

在这种情况下,为避免重复代码,声明应放在 DDC 中。另一种方法是创建一个新类 User,由 Student 和 Counselor 扩展。但是,永远不要在两个不同的类中两次编写相同的方法。

原因是后面想修改代码的时候,修改不止一次就很难做了。在较大的项目中,这可能会成为一个大问题。

关于java - 如何决定方法应该进入数据定义类 (DDC) 还是实现类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394248/

相关文章:

java - 使用 AND 运算符 CriteriaBuilder 的规范和谓词集合

java - 使用 JButton 关闭 JFrame

algorithm - 渐近界与运行时间之间的关系?

c - 为 a 的范围寻找 pow(a^b)modN

c - 在 C 中添加日期背后的逻辑

javascript - 我的 javascript 函数陷入了循环......

python - 仅当值更改时触发线程(python)

java - 远程调试 : No connection to Wildfly 14 on OpenJDK 11 at port 8787

java - 如何修复 ComboBox getSelectedItem() 从 mysql 数据库匹配

c++ - 试图诊断C++标准for循环之间的差异并累积副作用