java - 我应该复制实体模型吗?

标签 java jpa optimization entity persistence

在我的应用程序中,有一些实体。但有些实体需要实现接口(interface)。 例如, 我有“类(class)”、“类(class)”实体。我创建了“CourseService”、“LessonService”接口(interface)和“CourseServiceImpl”、“LessonServiceImpl”。 但问题是我的“类(class)”和“类(class)”应该实现“Payable”接口(interface)。 我应该怎么办?复制我的实体?

谢谢,

最佳答案

不是真的。我假设您的 Payable 接口(interface)具有方法 pay()。在您的两个实体中实现它。如果实现不同,那就没问题。如果它们相同,您可以将其提取到另一个对象中并将其封装在CourseLesson中。或者不是 - 重复代码本身没有什么问题 - 只是难以更改和扩展的代码。我们有 DRY 原则——不要重复自己。我更喜欢喝 - 如果有必要请重复,凯? :)(不确定是谁创造了它)。

无论如何,我建议在服务中使用尽可能少的代码。您将拥有更高的cohesion如果您的实体可以自行履行其职责并且不会将其内部结构暴露给某些服务。马丁·福勒 explains it quite well 。另外,this .

关于java - 我应该复制实体模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50016215/

相关文章:

java - JPA多对多问题

hibernate - JPA 双向关系的优缺点

caching - 随机光线追踪本质上对缓存不友好吗?

c++ - 关于点到线的非线性优化

java - 并行处理 Set

java - ListView弹出消息

java - 在java文件中使用超链接

mysql - 如何使用 Spring MVC 和 JPA 在 mysql 数据库中持久化图像

c++ - 使用 std::multimap 迭代器创建 std::list

java - 带符号的 16 位 PCM 转换不工作。为什么?