يقدم هذا المقال بشكل أساسي تنفيذ نمط تصميم ديكور بسيط باستخدام Java:
دعونا أولاً نلقي نظرة على مخطط الفصل لنمط تصميم الديكور:
كما يتضح من الشكل ، يمكننا تزيين أي فئة تنفيذ لواجهة المكون ، وتشمل فئات التنفيذ هذه أيضًا الديكور نفسه ، والذي يمكن أيضًا تزيينه مرة أخرى.
فيما يلي نمط تصميم ديكور بسيط يتم تنفيذه في Java. يوفر نظامًا للديكور الذي يبدأ بالإضافة الأساسية للقهوة ويمكن أن يستمر في إضافة الحليب والشوكولاته والسكر.
Interface Component {void method () ؛} Class Coffee Coffee Component {Override public void method () {// todo method method method system.out.println ("pour in coffee") ؛ }} تزين الفئة المكون {شركات المكونات العامة ؛ ديكور عام (Component Comp) {this.comp = comp ؛ } Override public void method () {// todo method method method comp.method () ؛ }} class concretedecoratea يمتد ديكور {شركات المكونات العامة ؛ concretedecoratea (component comp) {super (comp) ؛ هذا .p = comp ؛ } public void method1 () {system.out.println ("pour in milk") ؛ } public void method2 () {system.out.println ("add sugar") ؛ } طريقة void العامة () {super.method () ؛ الطريقة 1 () ؛ method2 () ؛ }} class concretedeCorateb يمتد ديكور {شركات المكونات العامة ؛ concretedeCorateB (component comp) {super (comp) ؛ هذا .p = comp ؛ } public void method1 () {system.out.println ("add chocolate") ؛ } طريقة void العامة () {super.method () ؛ الطريقة 1 () ؛ }} الفئة العامة testDecorePattern {public static void main (string [] args) {component comp = new Coffee () ؛ comp.method () ؛ System.out.println ("----------------------------------------------------") ؛ Component comp1 = concretedecoratea جديد (comp) ؛ comp1.method () ؛ System.out.println ("----------------------------------------------------") ؛ component comp2 = concretedecorateb جديد (comp1) ؛ comp2.method () ؛ System.out.println ("----------------------------------------------------") ؛ Component comp3 = concretedecorateb جديد (concretedecoratea جديد (قهوة جديدة ())) ؛ comp3.method () ؛ System.out.println ("----------------------------------------------------") ؛ Component Comp4 = ConcretedEcoratea جديد (ConcretedEcorateB (New Coffee ())) ؛ comp4.method () ؛ }} نتائج التشغيل:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.