ملخص
الوضع الزخرفي هو وظيفة تمديد الكائنات بطريقة شفافة للعميل ، وهو بديل لعلاقات الميراث. بمعنى آخر ، لا يعتقد العميل أن هناك أي فرق بين الكائن قبل الديكور وبعده. يمكن للوضع الزخرفي توسيع وظيفة الكائن دون إنشاء المزيد من الفئات الفرعية. مفتاح الوضع الزخرفي هو أن هذا الامتداد شفاف تمامًا.
هيكل النمط
مخطط فئة UML:
الأحرف في وضع الديكور:
دور المكون التجريدي (المشروع): يعطي واجهة لتنظيم الكائنات جاهزة لتلقي مسؤوليات إضافية.
دور مكون محدد (عمل): تحديد فئة تتلقى مسؤوليات إضافية
دور زخرفي (مدير): يحمل مثيلًا لكائن مكون ويحدد واجهة تتفق مع واجهة المكون المجردة
دور زخرفي محدد (Managera ، ManagerB): مسؤول عن "التمسك" بمسؤولية إضافية عن كائنات المكونات
مثال رمز
Package Interview ؛ Interface Project {void docoding () ؛} ينفذ الفئة من Project {Override public void docoding () {system.out.println ("الهندسة هي البرمجة ...") ؛ }} يبرز مدير الفئة المشروع {Private Project Project ؛ المدير العام (مشروع المشروع) {this.project = project ؛ } Override public void docoding () {startNewwork () ؛ project.docoding () ؛ } public void startNewwork () {}} class managera يمتد المدير {public managera (مشروع) {super (project) ؛ } Override public void startNewwork () {system.out.println ("مدير التطوير يبدأ خطة عمل جديدة") ؛ }} Class ManagerB يمتد Manager {Public ManagerB (Project) {Super (Project) ؛ } Override public void startNewwork () {system.out.println ("يبدأ مدير الاختبار خطة عمل جديدة") ؛ }} الفئة العامة maintest {public static void main (string arg []) {project project = new effecte () ؛ Project Managera = New Managera (Project) ؛ Project ManagerB = New ManagerB (Project) ؛ managera.docoding () ؛ ManagerB.Docoding () ؛ }} مزايا وعيوب الوضع الزخرفي:
ميزة:
الغرض من الوضع الزخرفي والميراث هو تمديد وظيفة الكائن ، ولكن يمكن أن يوفر الوضع الزخرفي مرونة أكثر من الميراث. يسمح الوضع الزخرفي للنظام بتقرير "التمسك" "بالزينة" المطلوبة بشكل ديناميكي ، وعلاقة الميراث مختلفة. علاقة الميراث ثابتة ويتم تحديدها قبل تشغيل النظام.
باستخدام فئات ومجموعات زخرفية محددة مختلفة من هذه الفئات الزخرفية ، يمكن للمصممين إنشاء العديد من مجموعات مختلفة من السلوك.
عيب:
بسبب استخدام الأنماط الزخرفية ، يمكن أن يكون هناك عدد أقل من الفصول الدراسية من استخدام علاقات الميراث. إن استخدام عدد أقل من الفصول الدراسية يجعل التصميم أسهل في الأداء. ومع ذلك ، من ناحية أخرى ، فإن استخدام الأنماط الزخرفية ينتج كائنات أكثر من استخدام علاقات الميراث. يمكن أن تجعل المزيد من الكائنات أخطاء صعبة ، خاصة وأنها تبدو متشابهة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.