
この方式では、「インタフェースと実装の分離」の原則に基づいてソフトウェアを設計します。すなわち、共通なインタフェースと、中身(実現)の異なる実装を、それぞれ別クラスとして設計します。その手順は以下のとおりです。
1. 共通となるインタフェースの設計
対象としているコンポーネントを利用する全ての製品をカバーするように、インタフェースを設計します。このインタフェースは共通部となります。
2. 可変部の設計
先に作成したインタフェースに対して、その実現方法が異なる部分を別クラス(サブクラス)として定義します。

このように実装すれば、開発する製品に合わせて可変部のサブクラスを選択することで、製品用のモデルを構成することができます。また、可変部の内容が製品毎に異なる場合は、サブクラスを製品開発時に作成します。