DEV Community

Cover image for PHP: 10 regras para Programação Orientada a Objetos
Alan V
Alan V

Posted on

PHP: 10 regras para Programação Orientada a Objetos

Alguns princípios do raciocínio da programação orientada a objetos de forma direta, sem envolver revisão de conceitos.

...

Regras para programar orientado a objetos

O objetivo é modelar o problema usando abstrações, a implementação é só o "como" e vem depois de entender o problema. A regra de negócio é mais que a soma das implementações.

  • Crie classes e interfaces para modelar o problema. Interfaces e classes são a estrutura do problema, criar uma estrutura sólida e flexível é mais importante do que economizar linhas de código.
  • Legibilidade é uma prioridade! O código é a regra de negócio escrita, e programar é uma atividade de ler e pensar mais que de escrever
  • Classes devem representar entidades do problema!
  • Programe para interfaces e não implementações, use inversão de dependência: métodos são comportamentos de entidades não funções!
  • Use interfaces como tipos de parâmetros e passe as entidades, não chame classes diretamente dentro de outras classes
  • Classes são mais que métodos! elas representam informação!
  • Cuidado com acoplamentos de classes! Limite o acoplamento limitando a responsabilidade das classes e usando interfaces!
  • Defina o tipo dos parâmetros dos métodos sempre que possível! Use uma classe pai e sobrescrita de métodos, conceito chamado de polimorfismo, para evitar ter que usar IFs dentro de métodos
  • Traits são a forma do PHP lidar com herança múltipla! Só utilize quando fizer sentido como uma característica adicional a um conjunto de classes
  • Use interfaces! Interfaces são a chave da orientação a objetos, parte fundamental do SOLID e a estrutura de muitos Padrões de Projeto!

Conclusão

Uma forma de entender a diferença de raciocínio entre os paradigma estruturado e o orientado a objetos é que enquanto a programação estruturada visa mais resolver o problema implementando os passos, a programação orientada a objetos tem como objetivo modelar o problema.
Assim quando o problema mudar, e ele sempre muda, a POO facilita que o sistema possa ser alterado para refletir as regras de negócio.

Imagem da capa: https://unsplash.com/photos/gAe1pHGc6ms

Top comments (0)