Sou contra a orientação-objetos (OO)?

orientação-objeto

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.

Deixe suas dúvidas e sugestões nos comentários. 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!