Cita:
Iniciado por jor_0203 una pregunta tu a que le llamas peligro de hacer sobre-ingeniería de las cosas
porque es un peligro
Aplicando KISS: Hay que aplicar KISS (Keep It Simple, Stupid).
Resumo la lista de cosas que faltan en las implementaciones:
- Soporte de clases derivadas en métodos con argumentos de clases base, interfaces o traits.
- Soporte de métodos con 2 parámetros del mismo tipo
- Soporte de clases dentro namespaces
- Soporte de métodos estáticos.
Sin embargo, se intenta poner cuidado en otras cosas puramente estilísticas, y (como es muy habitual), discutiblemente aplicadas: declarar la clase Overridable como abstracta, para que no se puedan crear instancias (eso no es una clase abstracta, es una clase con constructor protected), o lanzar una ReflectionException (cuando en este caso, cualquiera entendería mejor el mensaje "function 'xxx.xxx.xxx' not found" que una "ReflectionException", aparte de que no es un error que un programa deba gestionar vía catch()).
El foco pasa del "qué", al "como",y eso es una cosa a evitar siempre.