-able
Javaではserializable
、 、 などの接尾辞が付いたインターフェースに頻繁に遭遇します。これは、これらのインターフェースを実装するオブジェクトが、特定のアクションをiterable
実行できるような性質を持っていることを示唆しています。繰り返した。オブジェクトに対してではなく、オブジェクトによって特定のアクションを実行できることを示唆するインターフェースを実装したい場合はどうでしょうか。
たとえば、人間が のラインに沿ってインターフェースを実装することは理にかなっていますが、人間を駆動することはできないため、人間がCanDrive
インターフェースを実装することは意味がありません。Drivable
逆に、車は実装する必要がありますが、実装Drivable
すべきではありませんCanDrive
。
この名前CanDrive
は、インターフェイス名としては非常に醜く聞こえます。この種の can-do 関係 (can-be-done-to ではなく) を示唆するインターフェイスの命名規則はありますか?