Solid Programlama Nedir?
Solid programlama, bir programlama prensibi olarak, bir nesnenin kalıtımının veya başka bir şekilde bağımlılıklarının, bir nesnenin işlevselliğinden ayrılmasına dayanır. Bu sayede, bir nesnenin farklı bir amaca hizmet etmesi durumunda, nesnenin kalıtımı veya bağımlılıkları değiştirilmeden bu amaç değiştirilebilir.
Bir örnek olarak, bir sınıf oluşturarak aşağıdaki gibi solid prensiplerine uygun bir şekilde yazabiliriz:
class Person {
constructor(name) {
this.name = name;
}
// Single responsibility principle:
// This method only has one responsibility, which is to return the person's name
getName() {
return this.name;
}
}
class Student extends Person {
constructor(name, grade) {
super(name);
this.grade = grade;
}
// Open/closed principle:
// This method can be extended to include new functionality without modifying the existing code
getGrade() {
return this.grade;
}
}
Bu örnekte, Person sınıfı bir kişiyi temsil eder ve tek bir görevine sahiptir: İsim döndürmek. Student sınıfı ise Person sınıfından türer ve grade özelliğine sahiptir. getGrade() yöntemi ise açık/kapalı prensibi uygulanarak, gelecekte farklı işlevsellikler eklenebilmesi için bırakılmıştır.