Middle
Açıklık/Kapama prensibi nedir (PRF)?
sobes.tech yapay zeka
AI'dan gelen yanıt
A Açık/Kapalı Prensibi (Open/Closed Principle, OCP), SOLID ilkelerinden biridir ve yazılım varlıklarının (sınıflar, modüller, fonksiyonlar) genişletilmeye açık, ancak değişikliğe kapalı olması gerektiğini belirtir.
Bu, sistem davranışının mevcut kodu değiştirmeden genişletilebileceği anlamına gelir, bu da kararlılığı ve bakım kolaylığını artırır.
Örneğin, yeni bir işlevsellik eklenmesi gerekiyorsa, mevcut kodu değiştirmek yerine, gerekli arayüzü uygulayan veya temel sınıftan türeyen yeni bir sınıf oluşturmak daha iyidir.
Swift'te örnek:
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
}
}
// Yeni bir şekil tipi eklemek gerekirse, mevcut sınıfları değiştirmeden yeni bir sınıf oluşturun
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
}
}
Bu şekilde, kod yeni şekiller eklenerek genişletilebilir (gelişmiş şekiller), ancak mevcut sınıfların değiştirilmesi gerekmez.