装飾的なデザインパターン
装飾的な定義(デコレータ)モード:既存の状況を変更せずにオブジェクト構造を指し、動的オブジェクトは、オブジェクト構造スキーマに属する関数の数(すなわち、その付加機能を増大させる)モードを、増加させることです。
- 装飾されたスキーマ拡張オブジェクトは、継承を使用するよりも、より柔軟に機能します。
- あなたは、いくつかの異なる動作の組み合わせを作成し、異なる装飾コンクリートの数を設計することができます。
その主な欠点は、次のとおりです。使い古された手順は非常に複雑になります場合は装飾模様は、サブ・カテゴリの数を増加させました。
- コード
public interface Coder {
public void code();
}
public class Student implements Coder {
@Override
public void code() {
System.out.println("javaSE");
System.out.println("javaWeb");
}
}
public class HighStudent implements Coder {
//1.获取被包装类的引用
private Student s;
//2.通过构造函数创建对象的时候,传入被包装的对象
public HighStudent(Student s){
this.s = s;
}
//对原有功能尽行升级
@Override
public void code() {
s.code();
System.out.println("MySQL");
System.out.println("SSM");
}
}