2

私は RestAPI のいくつかのバージョンをテストする任務を負っています。有効な残りの呼び出しのセットを含める 2 つの方法を考えました。最初のケースでは、各レスト コールに対応するメソッドを含む RestUrlFactory があります。たとえば、次のメソッドがあります。

public RestURL Version_1_1_PRODUCTS_GET();
public RestURL Version_1_1_PRODUCTS_PUT();
public RestURL Version_1_2_PRODUCTS_PRODUCT(int productId);
...etc

あるいは、RestUrlFactory に各 API バージョンの列挙を含めることができると考えました。その場合、残りの呼び出しごとに enum フィールドがあります。

enum Version_1_1 implements RestUrl
{
    PRODUCTS_GET("/products", "GET"),
    PRODUCTS_PUT("TestProduct", "PUT"),
    ...
}

またはその性質の何か。後者のオプション(列挙型を使用)の方がずっとクリーンだと思います。ただし、私の質問は、それが優れた OOP プラクティスでもあるのか、パフォーマンスの点で優れているのかということです。列挙型を使用すると、ファクトリ クラスが占有するスペースがはるかに少なくなると思います。

4

1 に答える 1

4

この API を使用する人が HTTP 経由で呼び出しを行う場合、パフォーマンスに関する考慮事項よりもはるかに重要です。パフォーマンスについて心配する必要はありません。それは時期尚早の最適化です。

メソッド シグネチャを使用すると、型安全性と非常に具体的な引数シグネチャが提供されるため、ユーザーに最も使いやすい API が提供されるように思えます。私はそれで行きます。

于 2013-10-04T17:11:34.500 に答える