Cos'è il principio di apertura/chiusura (POC)?
sobes.tech AI
Risposta dell'AI
Il Principio di Apertura/Chiusura (Open/Closed Principle, OCP) è uno dei cinque principi SOLID, che afferma che le entità software (classi, moduli, funzioni) dovrebbero essere aperte all’estensione, ma chiuse alla modifica.
Ciò significa che il comportamento del sistema può essere esteso senza modificare il codice esistente, aumentando così la stabilità e la facilità di manutenzione.
Ad esempio, se è necessario aggiungere una nuova funzionalità, è meglio creare una nuova classe che implementa l’interfaccia richiesta o eredita dalla classe base, piuttosto che modificare il codice già funzionante.
Esempio in 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 si desidera aggiungere un nuovo tipo di figura, si crea una nuova classe senza modificare quelle esistenti
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
}
}
In questo modo, il codice è aperto all’estensione (nuove figure), ma chiuso alla modifica delle classi esistenti.