Middle
Ի՞նչ է բացման/փակման սկզբունքը (ՊՓ):
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
}
}
Այսպիսով, կոդը բաց է ընդլայնման համար (նոր ձևեր), բայց փակ՝ փոփոխության համար արդեն գոյություն ունեցող դասերի։