Junior — Middle
Оё метавонед принсипи L-рои SOLID ва аҳамияти он дар тарҳрезии коди шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Принципи L-и SOLID — ин принсипи ивазкунӣ Лисков (Liskov Substitution Principle, LSP). Он мегӯяд, ки объектҳои зерсинф бояд бо объектҳои синфи асосӣ ивазшаванда бошанд, бидуни вайрон кардани дурустии барнома.
Ба сурати содда, агар синфи B аз синфи A мерос гирад, дар ҳар ҷо, ки объект A истифода мешавад, онро бо объект B иваз кардан мумкин аст, ва барнома бояд дуруст кор кунад, бидуни тағир додани рафтор.
Арзиши дар тарҳрезӣ:
- Мушаххас мекунад мерос ва полиморфизмро дуруст.
- Ҳ aid to avoid unexpected errors when expanding functionality.
- Тавассути эҷоди сохторҳои чандир ва васеъшаванда.
Масалан дар C++:
class Bird {
public:
virtual void fly() {
// иҷрои парвоз
}
};
class Sparrow : public Bird {
// гулӯ метавонад парвоз кунад, ҳама хуб аст
};
class Ostrich : public Bird {
public:
void fly() override {
throw std::logic_error("Қазоқ наметавонад парвоз кунад");
}
};
Ин ҷо Ostrich принсипи LSP-ро вайрон мекунад, зеро зерсинф ба рафтори синфи асосӣ дастгирӣ намекунад. Беҳтар аст, ки иерархияро дигар тарз тарҳрезӣ кунед, масалан, интерфейси парвозкунандагонро ҷудо кунед.