Was ist das Prinzip der Offenheit/Schließung (POS)?
sobes.tech KI
Antwort von AI
Das Prinzip der Offenheit/Geschlossenheit (Open/Closed Principle, OCP) ist eines der fünf SOLID-Prinzipien, das besagt, dass Softwareentitäten (Klassen, Module, Funktionen) offen für Erweiterungen, aber geschlossen für Änderungen sein sollten.
Das bedeutet, dass das Verhalten des Systems erweitert werden kann, ohne den bestehenden Code zu ändern, was die Stabilität und Wartbarkeit erhöht.
Zum Beispiel ist es besser, eine neue Klasse zu erstellen, die die erforderliche Schnittstelle implementiert oder von der Basisklasse erbt, anstatt den bereits funktionierenden Code zu ändern, wenn eine neue Funktionalität hinzugefügt werden soll.
Beispiel 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
}
}
// Wenn eine neue Figur hinzugefügt werden soll, erstellen Sie eine neue Klasse, ohne die bestehenden zu ändern
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
}
}
Auf diese Weise ist der Code offen für Erweiterungen (neue Figuren), aber geschlossen für Änderungen an bestehenden Klassen.