如何在面向对象的范例中建模相似但不精确的数据?

时间:2015-11-28 01:28:12

标签: oop design-patterns

我有一个接口和两个数据源,用于填充实现该接口的对象的具体实例。该接口公开了两个实例中只有一个可以以有意义的方式满足的方法。

i = 2;

is_prime = true;

while loop (i <= sqrroot(n))
{
  if (n % i == 0)
  {
    is_prime = false;
    exit while;
  }
  ++i;
}

我所研究的每个代码库都有这样的代码,我发现它通常源于希望应用'is-a'关系,而其他东西可能更合适。我有时间重构我目前正在工作的代码库。对于这样的情况,什么是一些好的建模解决方案?实际的代码比这复杂得多,但解决这里的玩具问题,具有可扩展的强大模式,将会有很长的路要走。

1 个答案:

答案 0 :(得分:0)

此处描述的问题&#34;是&#34; (双关语)违反Liskov Substitution Principle。 LSP违规有很多解决方案,但没有什么是一刀切的。例如,根据具体情况,您可以选择支持composition over inheritance或应用interface segregation