Java参数在GRASP之后传递



所以我有一个叫做Game的类,我需要根据它们的会话ID从数据库中检索Game的几个对象,所以我有这个方法:

public ArrayList<Game> getGamesBySession

好的,但我必须在那里传递一个参数,这样我就知道我想要检索哪个会话的游戏,我有两种可能性。我既可以传递一个int,也可以传递一个具有id属性的Session对象,然后使用session.getID()。最后,两者的结果基本相同,但我想知道的是另一件事。

我的问题是,这是一个更好的方法,如果我传递一个对象,这是否意味着GameSession高耦合并且违反了GRASP?

这取决于会话。ID只是一个整型吗?如果是,我宁愿传递整个会话,因为getGamesBySession(session)getGamesBySession(int)更清晰。

但是,您也可以考虑将int封装到SessionIdentifier对象中,这样可以为该值提供更多的语义含义。getGameBySession(SessionIdentifier)同样清楚,可以防止您从其他地方传入一些随机int…

相关内容

  • 没有找到相关文章

最新更新