2016-08-18 7 views

答えて

0

継承が深刻な主な問題は、その階層のクラス間で高い依存関係を作成することです。 Class Aを親とするクラス階層があり、Class BClass AClass CClass Bなどのように拡張されているとします。 Class BClass Aに高い依存性を持ちます。しかし、Class Cは、Class AClass Bの両方に高い依存性を持っています。したがって、階層内の各子との結合を増やします。

親と子供の間に依存関係を生成するだけなので、子供の数が多いほど悪くないかもしれません。

オブジェクトデザインの主なマントラの1つは、高い凝集力と疎結合です。

+0

これは非常に明確です説明!ありがとうございました! – Spark

0

ChidamberとKemererによると、"Towards a metric suite for object-oriented design"によると、階層の幅よりも深さが優先されます。ペーパー"Metrics for maintainability of class inheritance hierarchies"は良い読書です。最初の参考文献を読むと、著者は、深さが継承を通じてメソッドの再利用を促進すると主張している。

+0

両方のリンクが同じです。 – EJP

+0

2番目の参照のための正しいリンク:["クラス継承階層の保守性のためのメトリック"](http://www.csm.ornl.gov/~sheldon/public/Sheldon-smr249.pdf) – tnas

関連する問題