¿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.