這將是更好的方式來設計的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