Okay, jom masuk topik kita Hari ini saya akan berkongsi dengan anda 装饰器模式 dalam corak reka bentuk. Gunakan kisah hidup yang sesuai dan senario projek sebenar untuk bercakap tentang corak reka bentuk, dan akhirnya meringkaskan corak reka bentuk dalam satu ayat.
Cerita
Bak kata pepatah lama: Lelaki bergantung pada pakaiannya dan kuda bergantung pada pelananya. Marilah kita membiasakan diri dengan latar belakang ayat ini:
Orang ramai bergantung pada pakaian, kuda bergantung pada pelana, dan anjing bergantung pada loceng untuk berlari dengan gembira Ia datang dari bab kesepuluh "Pavilion Wanghu" Shen Zijin: "Namun begitu , Buddha bergantung pada pakaian emas "Orang ramai bergantung pada pakaian, dan dandanan juga sangat penting Jilid 1 "Kata-Kata Abadi untuk Membangkitkan Dunia": "Dua pembesar daerah bersaing untuk anak yatim perkahwinan yang soleh:" Seperti kata pepatah: " Buddha berpakaian emas, orang berpakaian dalam pakaian, dan ramai orang di dunia mempunyai mata cetek." , hanya kulit, tiada tulang. '" Bak kata pepatah, orang dewasa bergantung pada pakaian dan kuda.
Kisah klasik ini mengingatkan saya pada corak reka bentuk: corak penghias.
Apakah corak penghias? Tolong dengar Lao Tian bercakap perlahan. . Dari segi menambah fungsi, corak penghias adalah lebih fleksibel daripada menjana subkelas dan merupakan corak reka bentuk struktur.
Bahasa Inggeris:
Lampirkan tanggungjawab tambahan pada objek secara dinamik mengekalkan antara muka yang sama.Penghias menyediakan alternatif yang fleksibel kepada subkelas untuk melanjutkan kefungsian Alternatif fleksibel (melanjutkan kefungsian objek asal) melampirkan kefungsian pada objek. Oleh itu, teras corak penghias adalah sambungan berfungsi. Gunakan corak penghias untuk memanjangkan kefungsian kelas secara telus dan dinamik.
Kes dalam hidup #🎜🎜🎜🎜🎜 hiasan, ia kelihatan sangat hodoh, tetapi dengan sedikit hiasan, ia akan menjadi lebih cantik, dan anda boleh mandi, tidur, memasak, dan lain-lain, tetapi ia masih rumah pada dasarnya. Kereta pada asalnya adalah kenderaan untuk pengangkutan, tetapi Mary membesarkannya dan menaik taraf konfigurasinya, dan kemudian ia menjadi kereta mewah, tetapi pada dasarnya ia masih merupakan kenderaan untuk pengangkutan.
Seorang gadis pada asalnya sangat biasa dan berpenampilan sederhana, tetapi selepas memakai solek dan memakai beberapa pakaian yang cantik, dia menjadi dewi di hati ramai orang.
Pendek kata, selepas beberapa hiasan, ia berbeza dan fungsinya dipertingkatkan.
Perlaksanaan kod sejagat corak penghias
#🎜🎜🎜🎜🎜🎜🎜🎜🎜 Untuk melaksanakannya, pengaturcara suka membuat demo dahulu dan kemudian mengkajinya perlahan-lahan.
//抽象组件
public abstract class Component {
public abstract void operation();
}
//具体组件
public class ConcreteComponent extends Component {
@Override
public void operation() {
System.out.println("ConcreteComponent operation");
}
}
//装饰器抽象
public abstract class Decorator extends Component {
protected Component component;
public Decorator(Component component) {
this.component = component;
}
@Override
public void operation() {
component.operation();
}
}
//具体装饰器
public class ConcreteDecorator extends Decorator {
public ConcreteDecorator(Component component) {
super(component);
}
@Override
public void operation() {
System.out.println("开始前搞点事");
super.operation();
System.out.println("结束后搞点事");
}
}
//测试
public class Client {
public static void main(String[] args) {
Component component = new ConcreteDecorator(new ConcreteComponent());
component.operation();
}
}
Hasil berjalan:
开始前搞点事
ConcreteComponent operation
结束后搞点事
Di atas ialah pelaksanaan kod umum corak penghias.
Rajah UML corak penghias
#🎜🎜 🎜#
Atas ialah kandungan terperinci 3 tahun bekerja mod penghias penting. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!