
Cuanto más leo sobre POO, más me da la sensación de que no todos entienden la POO. Otro artículo es un ejemplo de esto .
Aquí puede describir lo absurdo de la argumentación en el artículo anterior durante mucho tiempo. Pero en general, todo el artículo se puede tachar literalmente de la siguiente manera.
Siguiente
Con la creciente complejidad del software, surgió la necesidad de aislar la complejidad, dividiéndola en pedazos. Simplemente cortar en pedazos no funcionará, porque Habrá un problema al conectar las partes. Y luego se les ocurrió a las personas inteligentes: aislar las partes para que la parte externa sea importante, y no cómo se organiza dentro. Es decir no es necesario pensar en mecanismos, solo pensar en contratos.
OOP
Esto es lo que se llama OOP, y fue el aislamiento de la complejidad lo que, en cierto sentido, condujo a la revolución, porque se hizo posible escribir programas mucho más complejos.
Todo lo demás es transfusión de vacío a vacío, incluidas las citas de todas las personas conocidas y respetadas. El problema con OOP es que inicialmente pensaron en una cosa, pero luego los practicantes entraron y cambiaron todo por sus necesidades, porque los programas no necesitan escribirse mañana o pasado mañana, sino hoy. Mejor aún, ayer.
En lo que se ha convertido OOP hoy es el resultado de un malentendido de los objetivos del desarrollo de software: la lucha contra la complejidad . Dio la casualidad de que el cerebro no se adapta a todos los aspectos y partes del sistema, solo podemos sostener una pequeña parte. Por lo tanto, la lucha con la complejidad es el motor y la motivación para crear nuevos paradigmas. Además, este puede ser un criterio para la elección correcta del paradigma: cuán simple y comprensible es el código resultante.
Total
Por lo tanto, lo principal en la programación no es el uso de prácticas anticuadas o anticuadas, sino el control correcto de la complejidad en cada parte del sistema.
Enlaces utiles:
[1] Joe Armstrong sobre Elixir, Erlang, FP y OOP . Aquí hay una comprensión inicial de OOP, que posteriormente se transformó bajo la influencia de C ++ y Java. La OOP original ahora se llama modelo de actor.
[2] Asincronía 3: modelo subjetivo . Desde un punto de vista práctico, cómo combinar OOP y el modelo de actor, habiendo obtenido un nuevo paradigma, incluidos los anteriores.