アンチパターンの概要

Apigee X のドキュメントを表示中です。
Apigee Edge のドキュメントを表示する。

このセクションでは、Apigee にデプロイされた API プロキシの一部としてモニタリングされる共通のアンチパターンについて説明します。

幸いにも、これらのアンチパターンはそれぞれ明確に識別し、適切な方法で修正できます。その結果、Apigee にデプロイされた API は本来の目的を適切に果たせるようになり、より高いパフォーマンスを発揮します。

アンチパターンの概要

次のテーブルは、このセクションで説明するアンチパターンの一覧を示します。

カテゴリ アンチパターン
ポリシーに関するアンチパターン
一般的なアンチパターン
バックエンドに関するアンチパターン

アンチパターンに関する電子書籍をダウンロード

上記のリンクに加え、アンチパターンを電子書籍の形式でダウンロードできます。

アンチパターンとは

Wikipedia によると、ソフトウェアのアンチパターンは次のように定義されています。

ソフトウェア エンジニアリングにおけるアンチパターンとは、一般的に使用されるが、実際には非効率的かつ / または逆効果となるパターンのことを言う。

簡単に言うと、アンチパターンとは「ユーザー」がソフトウェアで行うことができるものの、機能性、サービス性、またはパフォーマンスに悪影響を及ぼす可能性があるもののことです。

たとえば、全能的にも聞こえる「神クラス / オブジェクト」について考えてみます。

オブジェクト指向の用語で言えば、God クラスはある特定のアプリケーションにおいて、数多くのクラスを管理するクラスです。

たとえば、次の参照ツリーを持つアプリケーションを考えてみましょう。

未定
図 1: 神クラス

図からわかるとおり、God クラスが使用および参照するクラスの数は多すぎます。

このアプリケーションの開発に使われたフレームワークでは、このようなクラスの作成が禁止されてはいませんが、この設計ではあまりにも不便です。主な問題点は次のとおりです。

  • 管理が困難
  • アプリケーションの実行中に単一障害点が生じる

結果として、こうしたクラスの作成は避けるべきです。これがアンチパターンです。

対象

このセクションは、Apigee デベロッパーがサービスの API プロキシを設計および開発するライフサイクルを進めていく上で、非常に役立ちます。API の開発ライフサイクルやトラブルシューティング中に、リファレンス ガイドとして利用するのが理想的です。