Posibilidad de un builder multiple? #218
-
Que tal, tengo una consulta con algo que estoy modelando, es sobre los usuarios del tp. pense primero en hacer composicion, lo vi mas flexible para poder switchear de un user admin a un user comun, pero no tenia mucho sentido a pesar de su flexibilidad, entonces me tire por una clase abstracta donde si o si el user que se instancia debe ser Normal o Admin. public abstract class User {
String username;
Password password;
public User(String username, Password password){
this.username = Objects.requireNonNull(username, "username must not be null");
this.password = Objects.requireNonNull(password, "password must not be null");
}
public void setPassword(Password password){
this.password = password;
}
}
public class UserNormal extends User{
public UserNormal(String username, Password password) {
super(username, password);
}
}
public class UserAdmin extends User{
public UserAdmin(String username, Password password) {
super(username, password);
}
public void setNewCaracteristicas(List<Caracteristica> caracteristicas){
//TODO
}
}
con herencia ahora gano otro factor tal vez, porque el registro de mascotas podria esperar un user admin solamente para agregar la funcionalidad que pide "agregar nuevas caracteristicas requeridas para la mascota" entonces, solamente este poder en el registro de mascotas lo tendria el userAdmin, que es el que espera el registro para actualizar las caracteristicas. con composicion, ganaba en el builder y en el requerimiento del TP que decia que la password tiene que cumplir todos los requisitos de seguridad y etc, puesto que todos los usuarios instanciados si o si van a ser correctos, lo cual me parecia excelente el builder para esto.. pero ahora que tengo dos clases abstractas, no puedo hacer un builder comun para ambos.. o si? esa es mi pregunta PD: podria hacer dos Builder distintos para c/u pero es una repeticion de codigo terrible, entonces queria saber si estaba esta posibilidad. gracias de antemano y buen fin de semana |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hola Guido, como estás? Las consultas o dudas relacionadas al modelado/diseño de la solución del TPA preferimos que sean canalizadas a través de sus ayudantes (o ayudante). Y por lo menos para lo que respecta al TPA usar el foro solamente en caso de que haya alguna duda o consulta sobre el enunciado. O algo que no se entienda o sea necesario aclarar. Por lo que te invito a que puedas canalizar esta duda con tu ayudante. Saludos y buen finde! |
Beta Was this translation helpful? Give feedback.
Hola Guido, como estás?
Las consultas o dudas relacionadas al modelado/diseño de la solución del TPA preferimos que sean canalizadas a través de sus ayudantes (o ayudante).
Y por lo menos para lo que respecta al TPA usar el foro solamente en caso de que haya alguna duda o consulta sobre el enunciado. O algo que no se entienda o sea necesario aclarar.
Por lo que te invito a que puedas canalizar esta duda con tu ayudante.
Saludos y buen finde!