Middle
Ce este principiul deschiderii/închiderii (POP)?
sobes.tech AI
Răspuns de la AI
Principiul deschis/închis (Open/Closed Principle, OCP) este unul dintre cele cinci principii SOLID, care afirmă că entitățile software (clase, module, funcții) trebuie să fie deschise pentru extindere, dar închise pentru modificare.
Aceasta înseamnă că comportamentul sistemului poate fi extins fără a modifica codul existent, ceea ce crește stabilitatea și ușurința de întreținere.
De exemplu, dacă trebuie să adăugați o nouă funcționalitate, este mai bine să creați o nouă clasă care implementează interfața necesară sau moștenește din clasa de bază, în loc să modificați codul deja funcțional.
Exemplu în 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
}
}
// Dacă trebuie să adăugați un nou tip de figură, creați o nouă clasă fără a modifica cele existente
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
}
}
Astfel, codul este deschis pentru extindere (noi figuri), dar închis pentru modificarea claselor existente.