アプリケーションの内部で使用されるインターフェイスを設計しようとしています。Google の例に従って、私は公開 API の乱雑さを減らすよう努めています。ただし、最小限のメソッドに関して定義されている便利なメソッドがいくつかあります。利便性と整理整頓のバランスをとるには、どのような要素を考慮する必要がありますか?
Google の例: HashBiMap
( doc ):
BiMap に getKeyForValue() メソッドがないのはなぜですか?
私たちはそれについて考えました (Doug Lea は半分冗談で teg()! という名前を付けることを提案しました)。しかし、実際には必要ありません。inverse().get() を呼び出すだけです。
Set
インターフェイスでの例:add()
とremove()
は最小限のメソッドですが、addAll()
とremoveAll()
は便宜上のものです。addAll()
の観点から実装できるadd()
ため、クライアントにSet
. ただし、クライアント コードはクリーンアップされます。
Utility
より便利なメソッドを含むクラスを作成することを検討しました。しかし、私は OOP から離れており、操作対象のオブジェクトをすべての呼び出しに引数として含める必要があります。私はそれがJavaのCollections
クラスの例に従っていると思いますが。