2016-12-06 5 views
1

私のクラスはいくつかのフィールドとアクセサを共有します。例 getId()1つのフィールドにアクセスするインターフェイスの命名規則

setId(Long id)getTimestamp()setTimestamp(Instant time)

、私は別々のインターフェースでこれらのメソッド抽象的にしたいです。

HasIdまたはWithIdまたはTimestamped(しかし、あなたはIdedことができないとして、これは、IDでは動作しません)です:私は、私は可能な命題であるとし、これらのインタフェースに

に名前を付けるためのベストプラクティスを探していますこれらのインタフェースには標準的な命名規則がありますか?

+8

Identifiable、Timestampable? –

+0

あなたがそれについて良い名前を考えることができないなら、それはデザインが抽象化される可能性があるという兆候です。 –

+0

例えば 'Serializable'をとります。しかし、これは意見に基づいている...彼らが "良い"答えであるかどうかは分からない。 – AxelH

答えて

1

ここでは、使用例が何であるかによって異なりますが、ここではベストプラクティスはありません。インターフェイスは「契約」であることを覚えておいてください。

あなたの例では、 "IsIdentified"、 "Identified"、 "Identifiable"、 "WithIdentifier"を使用している人を見てきました...いずれも間違っていませんでしたが、接尾辞。

ここでは、「すべてのインターフェイスに-able接尾辞を付ける」と指定しないでください。あなたのコードを明確にし、インターフェースの目的を自明にするもの: