Middle
O que é o princípio de abertura/fechamento (PRF)?
sobes.tech IA
Resposta da IA
O Princípio Aberto/Fechado (Open/Closed Principle, OCP) é um dos cinco princípios SOLID, que afirma que as entidades de software (classes, módulos, funções) devem estar abertas para extensão, mas fechadas para modificação.
Isto significa que o comportamento do sistema pode ser estendido sem alterar o código existente, o que aumenta a estabilidade e a facilidade de manutenção.
Por exemplo, se precisar adicionar uma nova funcionalidade, é melhor criar uma nova classe que implemente a interface necessária ou herde da classe base, em vez de modificar o código que já funciona.
Exemplo em Swift:
protocol Shape {
func area() -> Double
}
class Circle: Shape {
var radius: Double
init(radius: Double) {
self.radius = radius
}
func area() -> Double {
return Double.pi * radius * radius
}
}
class Rectangle: Shape {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
func area() -> Double {
return width * height
}
}
// Se precisar adicionar um novo tipo de figura, crie uma nova classe sem alterar as existentes
class Triangle: Shape {
var base: Double
var height: Double
init(base: Double, height: Double) {
self.base = base
self.height = height
}
func area() -> Double {
return 0.5 * base * height
}
}
Dessa forma, o código está aberto para extensão (novas figuras), mas fechado para alteração das classes existentes.