【发布时间】:2019-08-23 11:14:58
【问题描述】:
在下面的案例中,我对使用策略模式有点困惑。
我有下面的 MyEntity 类。
public class MyEntity {
private long id;
private long userid;
String firstname;
String lastname;
// other fields
我有以下情况
-
getMyEntity (long user_id)接受 user_id 作为参数并从数据库返回具有相同 user_id 的 List。 -
updateMyEntity (MyEntity myEntity )接受 MyEntity 作为参数并在数据库中更新此 MyEntity。 -
deleteMyEntity (long id)接受 ID 作为参数并在数据库中删除此 MyEntity。 -
addMyEntity (MyEntity myEntity )接受 MyEntity 作为参数并将此 MyEntity 添加到数据库中。
具有上述要求的 Java 策略模式。如果方法具有相似的输入参数和相似的输出参数,我可以在 Java 中使用策略模式。但就我而言,我有不同的输入参数和不同的输出参数,所以我很困惑如何使用策略模式。
请指导我处理这个案例。
【问题讨论】:
-
如果该模式不适合您的用例,那么为什么要使用它?
-
如果一个模式似乎不适用于一个问题,你为什么认为你应该继续把那个众所周知的方形钉子钉进一个圆孔?
-
伙计,我不建议对主键字段使用原始类型,如
long,你应该使用Long而不是long -
请检查这个stackoverflow.com/questions/32062957/…如果你提到
IDENTITY策略很有用,那么数据库可以自动分配下一个值 -
我必须使用策略模式来满足这个要求。有没有办法让我可以使用它?
标签: java design-patterns strategy-pattern