アノーテーション

コンパイル時または実行時に処理できる、クラスやメソッドなどのプログラム要素に関するデータです。

私たちはプログラム内のデータを分類して、その方法に関するルールを作成することに慣れています。顧客は地域別にグループ化され、支払いルールがあります。多くの場合、プログラム自体の要素に関するこのようなルールを作成することは有用です。言語は通常、クラスやメソッドを公開または非公開としてマークできるアクセス制御などの組み込みメカニズムを提供します。

しかし、言語がサポートするものや、合理的にサポートすべきものを超えるものをマークしたい場合があります。整数フィールドに代入できる値を制限したり、テスト中に実行されるメソッドをマークしたり、クラスを安全にシリアライズできることを示したい場合があります。

アノーテーションは、プログラム要素に関する情報です。この情報を取得して、実行時または環境によってはコンパイル時に操作できます。したがって、アノーテーションは、プログラミング言語を拡張するメカニズムを提供します。

ここでは、アノーテーションという用語を使用しました。これは Java プログラミング言語で使用される用語です。同様の構文が .NET で先行していましたが、「属性」という用語は他の概念に広く使用されているため、Java の用語に従うことを好みます。ただし、ここで扱う概念は構文よりも広範であり、この種の特殊な構文を使用せずに同じ利点を得ることができます。

詳細については、DSL ブック第 42 章を参照してください。

DSL カタログ