Hoje eu queria responder uma pergunta que sempre me fazem: “Tulio, você é contra orientação-objetos?”
Primeiramente, eu não sou contra orientação-objetos. Se pegarmos linguagens como JAVA, é um paradigma interessante.
Coisas que eu não gosto em orientação-objeto:
Nós temos muito Pattern. A “Patternite”, como eu costumo brincar, faz com a a gente utilize o Pattern às vezes antes do tempo, aplicamos de forma prematura. E quando você começa a usar muito isso sem ter a concepção do seu sistema bem definida, pode ser que você comece a ter problemas de abstração, então sempre vai ter algo que não encaixa direito dentro da arquitetura.
Voltando para a programação funcional, quando trazemos muitos Patterns e conceitos para a programação funcional, também temos esse problema, já que estamos abstraindo demais no começo. É Interessante lembrar que a menor unidade de código que temos dentro do JavaScript é a função. Quando a gente replica uma característica de orientação-objeto dentro de uma programação funcional é o que eu acho estranho, já que não precisamos necessariamente criar uma classe dentro do JavaScript, apesar de conseguirmos.
Então eu não sou contra a orientação-objetos em si, e sim aplicá-la demais em cima de uma linguagem funcional. A minha dica pra você é: tente não organizar demais de começo, senão vai começar a classificar coisas de maneira errada, já que vão ser classificadas em um estágio muito prematuro do projeto.
Confira o video:
Curta o DevPleno no Facebook, se inscreva no canal no YouTube e cadastre seu e-mail para não perder as atualizações. Abraço!
Mestre em Sistemas de Informação pela USP e criador do DevPleno. Iniciou sua carreira como professor com apenas 18 anos em um curso técnico, foram 11 anos em sala de aula formando desenvolvedores fullstack no sul de Minas Gerais.