que sería la mejor manera de diseñar una API:Clean Design 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();
}
Obviamente este código no se ejecutará - que sólo debe mostrar el problema. Me gusta más el segundo enfoque. El nombre del método puede ser un poco genérico, pero el contexto (className, parameter, return Type) lo deja bastante claro. Un problema que podría tener el segundo enfoque es qué pasaría si necesitaría otro método get con el mismo tipo. Por ejemplo, si quiero obtener un usuario por su edad. Gracias de antemano por cualquier ayuda.
kuku
+1 por ejemplo B, pero casi no encuentro esta pregunta como constructiva ya que la respuesta es muy subjetiva –
Supongo que un uso típico sería 'userService.addUser (user)' que hace que la opción A sea bastante redundante. – Xion
En lugar de 'public void add (usuario final User, índice int final);', debe considerar 'public void insert (usuario final User, índice int final);'. Creo que este es el nombre comúnmente utilizado en la API de Java. –