Sobes.tech
Middle

¿Qué es el principio de apertura/cierre (PRC)?

sobes.tech AI

Respuesta de la IA

El principio de abierto/cerrado (Open/Closed Principle, OCP) es uno de los cinco principios SOLID, que establece que las entidades de software (clases, módulos, funciones) deben estar abiertas para la extensión, pero cerradas para la modificación.

Esto significa que el comportamiento del sistema puede extenderse sin cambiar el código existente, lo que aumenta la estabilidad y la facilidad de mantenimiento.

Por ejemplo, si necesitas agregar una nueva funcionalidad, es mejor crear una nueva clase que implemente la interfaz necesaria o herede de la clase base, en lugar de modificar el código que ya funciona.

Ejemplo en 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
    }
}

// Si necesitas agregar un nuevo tipo de figura, crea una nueva clase sin cambiar las 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
    }
}

De esta manera, el código está abierto para la extensión (nuevas figuras), pero cerrado para la modificación de las clases existentes.