REST APIがファサードデザインパターンに従っていない理由
REST [api]構造とOOモデルを比較すると、次のような類似点があります。 どちらも: データ指向ですか REST =リソース OO =オブジェクト データを取り巻く操作 REST =リソースをVERBS(Get、Postなど)で囲みます OO =カプセル化によってオブジェクトの周りの操作を促進する ただし、適切なOOプラクティスは、たとえばファサードパターンを適用しようとするときにREST APIに常に依存しているわけではありません。RESTでは、すべてのリクエストを処理する1つのコントローラーがなく、内部オブジェクトの複雑さを隠しません。 それどころか、RESTは、少なくとも2つの形式で、リソースとその他のすべての関係のリソース公開を促進します。 リソース階層関係を介して(id 43の連絡先はアドレス453で構成されます): /api/contacts/43/addresses/453 REST json応答のリンクを介して: >> GET /api/contacts/43 << HTTP Response { id: 43, ... addresses: [{ id: 453, ... }], links: [{ favoriteAddress: { id: 453 } }] } OOに戻ると、ファサードの設計パターンLow Couplingは、objectAとその「objectBクライアント」の間、およびHigh CohesionこのobjectAとその内部オブジェクト構成(objectC、objectD)を尊重します。とをObjectAのインターフェースは、これは、許可に制限の影響に現像剤をObjectBのObjectAに(内部変化ObjectCに及びobjectD長いほど)、ObjectAにする API(操作)が依然として尊重されます。 …