consiguió esta pregunta de la entrevista, que me pregunto sobre: POO Diseño Pregunta
Una compañía de software diseñado una aplicación que gestiona los empleados y, entre otras funciones, calcula el salario.
La estructura actual que se ajusta a las necesidades del cliente es:
abstract Class Employee;
Class Manager extends Employee;
Class Engineer extends Employee;
El cliente ahora quiere añadir la capacidad de soportar diferentes tipos de cálculos salariales para los empleados que trabajan en un salario por hora, salario mensual. Tanto Engineer como Manager pueden ser cualquiera.
El cliente también notificó a la compañía de software que agregarán otros tipos de salarios en el futuro.
The Question - ¿Cómo diseñarías esto? ¿Cae si cae en alguna solución de patrón de diseño?
Gracias!
Gracias. Esa fue mi corazonada. Esperaré una hora para ver otras opiniones. Por cierto, ¿no es esto más un delegado que una estrategia? http://p2p.wrox.com/book-professional-php-design-patterns/78122-differences-between-delegate-strategy-pattern.html – Turd
Usando el "Patrón de delegación" aquí significa, el Empleado no calcula el salario por sí mismo, pero delega esto en el objeto de estrategia. No dice nada sobre los diferentes modelos de cálculo de salarios. "Patrón de estrategia" significa que tendrá diferentes subclases, una para cada tipo de cálculo de salario. No define dónde tiene lugar el cálculo (las diferentes subclases pueden proporcionar metadatos para ayudar al "Empleado" a hacer el cálculo correcto). Ambos patrones serán aplicables aquí, lo que yo creo es que la estrategia era lo que buscaba el entrevistador. –