Sobes.tech
Junior — Middle

Melyik SOLID elv sérülhet, ha egy protokollon belül opcionális funkciót használunk?

sobes.tech MI

Válasz az MI-től

A protokollon belüli opcionális funkciók használata megsértheti a SOLID Interface Segregation Principle (ISP) elvét.

Az ISP kimondja, hogy az ügyfelek nem függhetnek olyan módszerektől, amelyeket nem használnak. Ha egy protokoll tartalmaz opcionális funkciókat, azokat az objektumokat, amelyek ezt a protokollt implementálják, kényszerítheti arra, hogy olyan módszereket valósítson meg vagy vegyen figyelembe, amelyekre nincs szükségük, ez pedig sérti ezt az elvet.

Például, ha egy protokoll kötelező és opcionális módszereket tartalmaz, és egy osztály csak a kötelezőket használja, de mégis támogatnia kell az opcionálisakat (még üres implementációkkal is), ez bonyolítja a tervezést és csökkenti annak tisztaságát.