Open urielkelman opened 6 years ago
Dale, gracias por la observación vemos de darle el comportamiento a la clase o sino como sugerís directamente que sea un tipo primitivo.
¿En este caso seria mejor eliminar la clase porcentajeDeImpuesto y que el porcentaje sea un atributo de la clase? Por que a la clase porcentajeDeImpuesto cuando se la instancia se le pasa el valor del porcentaje, valor conocido por la clase ImpuestoDeLujo entonces creo que seria mejor aplicar el porcentaje de impuesto sin delegarselo a otra clase. ¿Es correcto?
Eso lo deben evaluar ustedes. Si creen que es una entidad que merece estar representada, deberían hacer la clase. Si creen que es una propiedad de cierto objeto, un atributo. Nosotros los alentamos a que detecten la mayor cantidad de entidades posibles, pero queda a su criterio. Es un sólo método, quizá no vale la pena, pero quizá logró mayor encapsulamiento. Fíjense.
La clase en sí no hace nada, simplemente tiene el constructor y un getter. Recuerden: "tell, dont ask". Si necesito aplicar un porcentaje de descuento, le delego la responsabilidad a dicha clase, no le pido nada y me ahorro un getter y logro mayor encapsulamiento. Si no, no tiene sentido la existencia de la clase y el porcentajeDeDescuento debería ser un atributo de tipo primitivo.