Engines「金融商品(の価格計算)ライブラリは、金融商品の価格を計算する方法を提供するものである」と言ったら、“ラ・パリサードの真理”と同じく、当たり前の事を述べているにすぎないかもしれません。ライブラリの設計者にとって、価格計算の方法の提供というのは課題の一部でしかありません。金融商品ライブラリには、将来、新たな価格計算機能を追加する為に、必要な機能を持たせる必要があります。Palisse氏の墓標の文が“もし彼が死んでいなければ、彼は生きていただろう”と誤訳された事から、当たり前の真実の事を意味する。)機能拡張の要請は、2つの方向で必要になると予想されます。ひとつは、新しい金融商品への対応、もうひとつは、同じ商品について別の価格計算方法を追加していくことです。いずれの方向であっても、拡張性を持たせるには、いくつかの必要条件がありますが、デザインパターン的な用語で言えば、「いずれの方向の要請にも合致するものでなければならない」。本チャプターでは、そのような拡張性の要請とそれに対する解決方法について説明します。<ライセンス表示>QuantLibのソースコードを使う場合は、ライセンス表示とDisclaimerの表示が義務付けられているので、添付します。