0

Validator1つのメソッドシグネチャを持つインターフェイスがありpublic List<ParameterError> validateParameters(Parameters parameters);ます。さまざまなクラスがこのインターフェイスを実装しています。

isIntegerisInRangeなどの一般的なメソッドもいくつかあります。これらのメソッドをに入れて、インターフェイスをValidationHelper実装するクラスで合成を使用する必要がありますか、それとも抽象クラスを作成し、これらのメソッドをそこに配置して、合成の代わりに継承を使用する必要がありますか?ValidatorValidator

4

3 に答える 3

2

ヘルパーメソッドstaticは純粋関数であり、多型であることが期待されていないため、メソッドの候補として適しています。ユーティリティクラスを使用して、そのようなすべての関数をその中に入れる必要があります。これにより、結合が最小になります。構成も継承もありません。メソッド自体への純粋な依存。

于 2012-12-27T10:39:59.277 に答える
0

Validator実装するクラスは必ずしも関係を共有しない可能性があるため、継承よりも構成を優先しis-aます。彼らは、Validatorインターフェースによって提供されるメソッドに興味を持つ可能性が高くなります。

また、汎用(isIntegerなど)メソッドをインターフェイスValidatorに実装してマークを付けることはできませんfinalか?それらは、この質問staticに沿って作成することもできます。

于 2012-12-27T10:40:11.287 に答える