Sobes.tech
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.