代码之家  ›  专栏  ›  技术社区  ›  TerrorAustralis

类设计、接口或具体类

  •  0
  • TerrorAustralis  · 技术社区  · 14 年前

    关于接口与具体类的使用,我有一个问题。
    我有一个实现一些公共属性/方法的基类。现在我有两个可能的扩展。这个基类可以有一些称为参数的属性,也可以有另一个称为子属性的属性,或者两者都可以。

    在我看来,我可以创建两个接口(iparameteried,iparent),或者实现三个子类(parameterObject,parentObject,parentParameterObject)。问题是,哪一个设计更好。我现在倾向于使用接口方法,但我不是一个有经验的程序员,所以欢迎任何建议。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    7 年前

    关于这个话题的一些背景应该能让你走下去: Liskov substitution principle (更多) here )以及 composition over inheritance .

    简而言之,不要实现3个子类(即继承方法):如果您需要2或3个额外的公共属性/方法,将会发生什么?只需添加2个,您就可以看到15个左右的独特组合。对于构图,请查看 state strategy 模式。

        2
  •  2
  •   Michael Neale    14 年前

    我认为你的“倾向”是正确的,其他人也会同意: http://www.artima.com/lejava/articles/designprinciples4.html