私が持っていると言う:
interface Thing
{
GetThing();
}
class FastThing : Thing
{
public int GetThing()
{
return 1;
}
}
class SlowThing : Thing
{
public int GetThing()
{
return GetThingFromDatabase();
}
}
これは、リスコフ代替原則の違反ですか?
FastThingにSlowThing、LSPは適用されません。Thing::GetThing「非常に高速です」というコメントを追加すると、質問を議論できます。
GetThingFromDatabase()物議を醸すほど遅くはありません。Factor4096BitPublicKey();return 1;物事をもう少し面白くするでしょう。