这将是更好的方式来设计的API:干净API设计
Example A:
public class UserService {
public void addUser(final User user);
public void addUserToIndex(final User user, final int index);
public User lookUpUser(final User user);
public User getUserByIndex(final int index);
public void removeUser(final User user);
public List<User> getAllUsers();
}
Example B:
public class UserService {
public void add(final User user);
public void add(final User user, final int index);
public User lookUp(final User user);
public User get(final int index);
public void remove(final User user);
public List<User> getAll();
}
显然,这代码将不会运行 - 它应该只是显示问题。我更喜欢第二种方法。方法名称可能有点通用,但上下文(className,parameter,return Type)使其非常清晰。第二种方法可能存在的一个问题是,如果我需要另一种具有相同Type的get方法,会发生什么情况。例如,如果我想让用户的年龄。预先感谢您的帮助。
裤裤
+1例B,但我很难找到这个问题的建设性,因为答案是非常主观的 – 2012-07-28 22:08:14
我认为一个典型的用法是'userService.addUser(user)',这使得选项A相当多。 – Xion 2012-07-28 22:09:21
而不是'public void add(final User user,final int index);',你应该考虑'public void insert(final User user,final int index);'。我相信这是Java API中常用的名称。 – 2012-07-28 22:20:24