Tratando de evitar la trampa de SomethingManager aquí ...¿Cómo definirías esta clase de CRUD?
Digamos que voy a escribir un editor de usuario que permitirá a los administradores crear usuarios en el sistema. Funcionalidad bastante básica: ver una lista de usuarios existentes, crear un nuevo usuario, actualizar un usuario existente, eliminar un usuario.
Digamos también que decido escribir una clase de "negocios" para manejar estas operaciones CRUD básicas. Esto es probablemente lo que la interfaz se vería así:
public interface ISomeUsefulName
{
IList<User> FetchUsers();
User FetchUser(int userId);
bool SaveUser(User user);
bool DeleteUser(int userId);
}
Dentro del método SaveUser(), por ejemplo, yo sería la confirmación de los datos (usando una clase diferente) y luego en realidad guardar los datos en la base de datos (utilizando de nuevo otra clase).
Mi pregunta es, ¿qué nombre debo dar a esta clase? ¿Esta clase está haciendo demasiado y por lo tanto debería dividirla en múltiples clases?
+1 Buena respuesta. Lo pensaste mejor que yo. –