Sobes.tech
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.