Middle
Ашық/жабық қағидасы (OCP) дегеніміз не?
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
}
}
Осылайша, код кеңейтуге ашық (жаңа фигуралар), бірақ өзгертуге жабық (бар сыныптар).