Home > Artigos > Princípios SOLID - Princípio Aberto-Fechado - 2 de 5

07-03-2023

Princípios SOLID - Princípio Aberto-Fechado - 2 de 5

Princípios, SOLID, Princípio, Aberto, Fechado


Michael Feathers criou o acrónimo SOLID para 5 princípios da programação orientada a objetos criados por Robert C. Martins, que tem como objetivo tornar o software mais consistente, reaproveitável e com fácil manutenção. Hoje vamos dar destaque ao “O” do SOLID, o principio Aberto-Fechado (Open-Closed Principle).


A ideia central do princípio Aberto-Fechado é que uma classe deve ser fechada para modificação, mas aberta para extensão. Isto é, uma vez que uma classe esteja em produção e sendo utilizada por outras partes do sistema, não deve ser modificada diretamente. Em vez disso as novas funcionalidades devem ser adicionadas por meio de extensões, que podem ser implementadas através de subclasses, interfaces ou outras estratégias.

Repare-se que, se for para adicionar novas funcionalidades vamos alterar uma classe já existente corremos o risco de introduzir novos bugs em partes do sistema que até aqui funcionava perfeitamente. Esta situação vai aumentar o tempo de desenvolvimento e tornar o código mais difícil de ler e manter.

Com o Princípio Aberto-Fechado o crescimento do projeto será um processo mais fácil. Havendo várias formas de implementar este princípio, a abordagem mais comum é usar herança ou composição para adicionar novas funcionalidades às classes existentes, sem modificá-las diretamente. Outra opção é usar interfaces para definir contratos que devem ser implementados pelas classes filhas.

O princípio Aberto-Fechado é um importante guia para a criação de sistemas de software de elevada qualidade e pode ajudar a melhorar a eficiência e a eficácia dos projetos de desenvolvimento. É uma das bases fundamentais para a criação de um código de qualidade, flexível, modular, escalável e de fácil manutenção, o que é essencial para sistemas complexos e em constante evolução.


Artigos relacionados:

 

 

 

 

👉 Instagram @niuGIS

RELACIONADAS


05-05-2023
ECMAScript

Contacte-nos 214 213 262

Informações