Katakan saya punya:
interface Thing
{
GetThing();
}
class FastThing : Thing
{
public int GetThing()
{
return 1;
}
}
class SlowThing : Thing
{
public int GetThing()
{
return GetThingFromDatabase();
}
}
Apakah ini merupakan pelanggaran terhadap Prinsip Pergantian Liskov?
FastThing
dengan SlowThing
, LSP tidak berlaku. Jika Anda menambahkan komentar Thing::GetThing
yang mengatakan "Sangat cepat", pertanyaannya dapat didiskusikan.
GetThingFromDatabase()
tidak cukup lambat untuk membuat ini kontroversial.Factor4096BitPublicKey();return 1;
akan membuat hal-hal sedikit lebih menarik.