कहो मेरे पास:
interface Thing
{
GetThing();
}
class FastThing : Thing
{
public int GetThing()
{
return 1;
}
}
class SlowThing : Thing
{
public int GetThing()
{
return GetThingFromDatabase();
}
}
क्या यह लिस्कोव प्रतिस्थापन सिद्धांत का उल्लंघन है?
FastThing
साथ प्रतिस्थापित करते हैं SlowThing
, तो एलएसपी लागू नहीं होता है। यदि आप एक टिप्पणी जोड़ते Thing::GetThing
हैं जिसमें कहा गया है "बहुत तेज़ है", तो प्रश्न पर चर्चा की जा सकती है।
GetThingFromDatabase()
यह विवादास्पद बनाने के लिए पर्याप्त धीमा नहीं है।Factor4096BitPublicKey();return 1;
चीजों को थोड़ा और दिलचस्प बना देगा।