¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Como implementar o Princípio Aberto-Fechado (OCP) no desenvolvimento de software: Exemplo e UML.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 19 Vistas
0
Cargando...


Precisamos seguir o princípio de design ao desenvolver software para reduzir o TCO (Custo Total de Propriedade), diminuir o custo de manutenção e para um design robusto.



Definição:
O próprio nome soa contraditório - ABERTO e FECHADO, mas por definição, Um módulo deve ser ABERTO para extensão mas FECHADO para modificação . O Princípio Aberto-Fechado (OCP) é um dos princípios de design mais importantes. O OCP originou-se do trabalho de Bertrand Meyer.



Em palavras simples: podemos adicionar novas características ao módulo sem alterar o código existente (FECHADO) mas adicionando novo código (ABERTO). Seguindo este princípio, podemos garantir que ao alterar o código no método não iremos quebrar a funcionalidade existente. Vamos tentar ver isso usando o exemplo.



Exemplo:
Primeiro veremos o código que não segue este princípio. Consideremos que temos uma classe que imprime informações de formas diferentes dependendo da entrada.


Trecho de código que viola este princípio.





O problema com este código é que cada vez que precisamos adicionar um novo tipo de Forma, precisamos alterar o código nos métodos CREATE_SHAPE, WRITE_SHAPE, o que é uma clara violação do OCP. De acordo com o OCP, só deveríamos alterar o método para adicionar nova funcionalidade. Aqui não estamos adicionando uma nova funcionalidade. A criação do objeto da Forma e escrever as informações da Forma de maneira diferente não é uma nova funcionalidade. Portanto, devemos redesenhar nossa classe e métodos para seguir o Princípio Aberto-Fechado.



Podemos usar o polimorfismo dinâmico para alcançar um design Aberto-Fechado. Consulte o UML para o novo design.



Agora criaríamos uma interface LIF_SHAPE que usaremos para criar diferentes formas como círculo usando LCL_CIRCLE, quadrado usando LCL_SQUARE e assim por diante.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?