Cursos‎ > ‎Cursadas Anteriores‎ > ‎2015‎ > ‎Cuatrimestral-1erC‎ > ‎Bitácora de clase‎ > ‎

Clase 23 - Ejercitación, composición vs herencia

publicado a la‎(s)‎ 18 jun. 2015 10:41 por Mariana Matos
Estuvimos trabajando con este enunciado: Minions
En particular nos detuvimos mucho en los siguientes aspectos:
  • Cómo encarar un problema? Por dónde arrancar la solución? Qué implicaciones tiene tomar una decisión demasiado anticipada? Cuál es el costo de invertir las responsabilidades en el punto de entrada de nuestra solución?
  • Distintas formas de encarar el punto 1 y manejo de errores en el mismo siguiendo las reglas básicas que planteamos la clase pasada.
  • Modelado con objetos de una misma clase vs modelado con instacias de clases distintas (también en el contexto del punto 1)
  • Herencia vs Composición: para el enunciado llegamos a las siguientes conclusiones:
    • que es más simple modelar a las razas con herencia en vez de con composición (sólo necesito un objeto para tener un empleado bíclope o cíclope en vez de dos, puedo usar redefinición cuando corresponda para tener un comportamiento distinto al estándar en vez de delegar en un objeto raza)
    • que los roles deben modelarse usando composición, ya que tienen que poder cambiar en tiempo de ejecución, lo cual no es posible usando herencia (el empleado debería conocer su rol y delegar en el rol todo lo que tenga que ver con el mismo)
  • Respecto al punto 2, planteamos una solución en la cual el empleado conoce las distintas tareas realizadas que son objetos polimórficos que saben decir cuál es la dificultad propia para un empleado, en vez de tener 2 atributos (cantidad de tareas realizadas y sumatoria de dificultades de tareas realizadas), ya que esto implicaría una complejidad extra para mantener consistente la solución, que es lo que tendríamos que hacer en el punto siguiente cuando efectivamente la tarea debería llevarse a cabo.
Quedó pendiente para que resuelvan los puntos 3 (muy interesante desde el punto de vista de responsabilidades) y 4 de este parcial en base al modelo al que llegamos.

En la clase de hoy vamos a trabajar con otro parcial así seguimos practicando la parte de modelado principalmente, que es lo que más suele costar.
Comments