Sobes.tech
Middle

Qu'est-ce que le principe d'ouverture/fermeture (POF) ?

sobes.tech IA

Réponse de l'IA

Le principe d’ouverture/fermeture (Open/Closed Principle, OCP) est l’un des cinq principes SOLID, qui stipule que les entités logicielles (classes, modules, fonctions) doivent être ouvertes à l’extension, mais fermées à la modification.

Cela signifie que le comportement du système peut être étendu sans modifier le code existant, ce qui augmente la stabilité et la facilité de maintenance.

Par exemple, si vous devez ajouter une nouvelle fonctionnalité, il est préférable de créer une nouvelle classe qui implémente l’interface nécessaire ou hérite de la classe de base, plutôt que de modifier le code existant.

Exemple en 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
    }
}

// Si vous devez ajouter un nouveau type de figure, créez une nouvelle classe sans modifier les classes existantes
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
    }
}

Ainsi, le code est ouvert à l’extension (nouvelles figures), mais fermé à la modification des classes existantes.