APIを設計しています。インターフェイスからのメソッドの例を次に示します。
Entry findEntry(int processId);
Entry findEntry(int processId, Filter filter);
ここで、processId
はいくつかの一意の識別情報を指します。しかし、私はまだそのタイプが何であるかを本当に知りprocessId
ません。
何かのような要素を抽象化するにはどうすればよいid
ですか?
私が思いつくことができる最善の方法は、ダミーのインターフェースを作成することです。
Entry findEntry(ProcessId id);
Entry findEntry(ProcessId, Filter filter);
ただし、上記のアプローチでは、APIのクライアントが高すぎる抽象化レベルで動作するように強制される可能性があるのではないかと心配しています。たとえば、プロセスIDの同等性は機能しなくなります(intを使用した場合は機能します)。
明確化:後で、おそらく別のチームによって実装されるインターフェイス(コントラクト)のみを記述していることを明確にできませんでした。そのため、equalsメソッドのような特定のものを強制することはできません。