내가 가지고 있다고 말하십시오 :
interface Thing
{
GetThing();
}
class FastThing : Thing
{
public int GetThing()
{
return 1;
}
}
class SlowThing : Thing
{
public int GetThing()
{
return GetThingFromDatabase();
}
}
이것이 Liskov 대체 원칙을 위반합니까?
FastThing
와 SlowThing
는 LSP는 적용되지 않습니다. Thing::GetThing
"매우 빠릅니다"라는 설명을 추가 하면 질문을 토론 할 수 있습니다.
GetThingFromDatabase()
논란의 여지가있을만큼 느리지 않습니다.Factor4096BitPublicKey();return 1;
좀 더 재미있게 만들 것입니다.