ボイラープレートコード
オブジェクト指向プログラミングでは、多くの場合、クラスにはインスタンス変数を取得、設定するためのメソッドが提供される。これらの定義は、定型文と見なされる。コードはクラスごとに異なるが、構造は決まりきっているため、手動で記述するよりも自動的に生成する方が適切である。たとえば、ペットを表す次のJavaクラスでは、Pet 、 name 、およびownerの宣言を除いて、ほとんどすべてのコードが定型文である。
この例のボイラープレートの殆どは、カプセル化のために存在する。変数nameとownerがpublicとして宣言されている場合、アクセサメソッドとミューテーターメソッドは必要ない。
ボイラープレートの量を減らすために、 JavaならばLombokのようなフレームワークが開発されている。 上記と同じコードは、メタプログラミングの形式であるJavaアノテーションを使用してLombokによって自動生成される。
他のいくつかのプログラミング言語では、その言語にそのような一般的な構造のサポートが組み込まれている場合、より少ない定型文で同じことを達成できる可能性がある。たとえば、上記のJavaコードに相当するものは、1行のコードを使用してScalaで表現できる。
または、 C#では、コンパイラによって生成されたバッキングフィールドで自動プロパティを使用する。