Sobes.tech
Middle

Τι είναι η αρχή της ανοιχτότητας/κλεισίματος (POP);

sobes.tech AI

Απάντηση από AI

Η Αρχή του Ανοικτού/Κλειστού (Open/Closed Principle, OCP) είναι μία από τις πέντε αρχές SOLID και δηλώνει ότι οι λογικές οντότητες (κλάσεις, αρθρωτά, συναρτήσεις) πρέπει να είναι ανοιχτές για επέκταση, αλλά κλειστές για τροποποίηση.

Αυτό σημαίνει ότι η συμπεριφορά του συστήματος μπορεί να επεκταθεί χωρίς να αλλάξει ο υπάρχων κώδικας, αυξάνοντας τη σταθερότητα και την ευκολία συντήρησης.

Για παράδειγμα, αν χρειάζεται να προσθέσετε μια νέα λειτουργικότητα, είναι καλύτερο να δημιουργήσετε μια νέα κλάση που υλοποιεί την απαιτούμενη διεπαφή ή κληρονομεί από την βασική κλάση, παρά να τροποποιήσετε τον ήδη λειτουργούντα κώδικα.

Παράδειγμα σε 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
    }
}

// Αν χρειάζεται να προσθέσετε έναν νέο τύπο σχήματος, δημιουργήστε μια νέα κλάση χωρίς να αλλάξετε τις υπάρχουσες
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
    }
}

Έτσι, ο κώδικας είναι ανοιχτός για επέκταση (νέα σχήματα), αλλά κλειστός για τροποποίηση των υφιστάμενων κλάσεων.