よくつかう設計パターンなんだけど、どう命名したものかというのをメモしてみました。 まずは、今後の拡張のために基底クラスを定義して、必ずそれを継承しなさいというふうにして、オブジェクトを統一的に扱う方法はよくやりますが... この方法の欠点は貴重な継承ラインを消費してしまう点と、すでにサーブレットなどのフレームワークに組み込まれていて、スーパークラスを挟んでも統一的に扱えない点が問題になります。 Javaは多重継承をサポートしていないので、C++のように基底クラスを追加するのことによる機能追加ができない。 継承ラインは貴重なのでなにに使うかは熟慮する必要がある。 すでに特定のクラスから継承されているクラス(ConcleteBussinesClass2)の場合共通の基底クラスを挟んでも、全体を統一的には扱えない。 そこでよくやるのは以下の方式。 システムないの役割(RoleInterfase)