Sobes.tech
Junior — Middle

SOLID'in L prensibini ve kodlama tasarımındaki önemini açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

SOLID ilkesi L'dir, yani Liskov Yerine Koyma Prensibi (Liskov Substitution Principle, LSP). Bu prensip, alt sınıf nesnelerinin, temel sınıf nesneleriyle değiştirilebilir olması gerektiğini ve programın doğruluğunu bozmadığını söyler.

Basitçe söylemek gerekirse, B sınıfı A sınıfından türemişse, A nesnesinin kullanıldığı her yerde B nesnesi kullanılabilir ve program doğru şekilde çalışmaya devam etmelidir, davranışını değiştirmeden.

Tasarımda önemi:

  • Doğru kalıtım ve çok biçimlilik sağlar.
  • İşlevselliği genişletirken beklenmedik hataları önlemeye yardımcı olur.
  • Esnek ve genişletilebilir mimarilerin oluşturulmasını teşvik eder.

C++ örneği:

class Bird {
public:
    virtual void fly() {
        // uçuşun uygulanması
    }
};

class Sparrow : public Bird {
    // serçe uçabilir, sorun yok
};

class Ostrich : public Bird {
public:
    void fly() override {
        throw std::logic_error("Devekuşu uçamaz");
    }
};

Burada Ostrich, temel sınıfın davranışını desteklemediği için LSP'yi ihlal eder. Hierarşiyi başka şekilde tasarlamak daha iyidir, örneğin uçan kuşlar için bir arayüz tanımlamak gibi.