
Quanto mais eu leio sobre OOP, mais sinto que OOP é entendido não apenas por todos. Outro artigo é um exemplo disso .
Aqui você pode descrever o absurdo da argumentação no artigo acima por um longo tempo. Mas, em geral, o artigo inteiro pode ser riscado literalmente da seguinte maneira.
Seguinte
Com a crescente complexidade do software, surgiu a necessidade de isolar a complexidade, dividindo-a em pedaços. Apenas cortar em pedaços não vai funcionar, porque haverá um problema ao conectar as peças. E então surgiram pessoas inteligentes: vamos isolar as partes para que a parte externa seja importante, e não como ela é organizada por dentro. I.e. não há necessidade de pensar em mecanismos, apenas em contratos.
OOP
É o que se chama OOP, e foi o isolamento da complexidade que levou, em certo sentido, à revolução, porque tornou-se possível escrever programas muito mais complexos.
Tudo o resto é transfusão de vazio para vazio, incluindo citações de todas as pessoas conhecidas e respeitadas. O problema com o POO é que eles inicialmente pensaram em uma coisa, mas os praticantes entraram e mudaram tudo para suas necessidades, porque os programas não precisam ser escritos amanhã ou depois de amanhã, mas hoje. Melhor ainda ontem.
O que a OOP se tornou hoje é o resultado de um mal-entendido dos objetivos do desenvolvimento de software: a luta contra a complexidade . Aconteceu que o cérebro não acomoda todos os aspectos e partes do sistema; só podemos conter uma pequena parte. Portanto, a luta com a complexidade é o motor e a motivação para criar novos paradigmas. Além disso, esse pode ser um critério para a escolha correta do paradigma: quão simples e compreensível é o código resultante.
Total
Portanto, o principal na programação não é o uso de práticas novas ou antiquadas, mas o controle correto da complexidade em todas as partes do sistema.
Links úteis:
[1] Joe Armstrong sobre Elixir, Erlang, FP e OOP . Aqui está um entendimento inicial do OOP, que posteriormente foi transformado sob a influência de C ++ e Java. O OOP original agora é chamado de modelo de ator.
[2] Assincronia 3: modelo subjetivo . Do ponto de vista prático, como combinar POO e modelo de ator, tendo obtido um novo paradigma, incluindo os anteriores.