أين يمكنني العثور على مزيد من التفاصيل من نمط التمكين المشهور من قبل Ken Auer؟

StackOverflow https://stackoverflow.com/questions/1100160

سؤال

في كتابه تطبيق البرمجة المتطرفة, ، يذكر كين auer عرض نمط التمكين. يذكر Kent Beck أيضا (على الأقل في رسالة بريد إلكتروني مؤرخة في 08 نوفمبر 2004)، لكنني لم أتمكن من العثور على أي تفاصيل في الأماكن المعتادة (Google، Wiki at c2.com، إلخ)

أين يمكنني معرفة المزيد؟

هل كانت مفيدة؟

المحلول

نمط التمكين هو حقا مجرد تباين لنمط المراقب. قمت بإعداد مراقبين على أجزاء مثيرة للاهتمام من النظام، مما يخلق الظروف. يمكن للتمكين بعد ذلك مراقبة الظروف وتمكين / تعطيل الحاجيات.

على سبيل المثال، عند تحميل نافذة، يمكنك إنشاء شروط مشاهدة الأشياء مثل ما إذا كانت قائمة أو مربع تحرير وسرد (أو نموذج أسفل القائمة أو مربع التحرير والسرد) لديه شيء محدد. يمكنك أن تسميها شيء مثل "SomethingselEttedCondition". عندها بعد ذلك ربط التمكين إلى الحاجيات المرتبطة بشرط أو أكثر من الشروط (التي يمكنك و / أو معا ... على الرغم من أنك تريد فقط أن ترغب فقط في الممارسة العملية).

عادة ما أقوم بتطبيقها عن طريق وجود مصنع عنصر واجهة المستخدم بحيث تكون إحدى المعلمات التي تمر بها هي مجموعة من الظروف المسماة التي، عند وصولها معا، تمكين / تعطيل القطعة. على سبيل المثال

WidgetAfactory.CreateButton (سلسلة ButtonLabel، وسيط، NineActionName، String [

سوف تبحث الأسماء الأسمبية عن الظروف المتوفرة في نوع من HASHMAP، وإنشاء CompositeCondition (والتي تخلقها جميع القيم المنطقية المرصودة في الشروط) وإنشاء تمكين يستمع إلى CompositeCondition ويحكي عن القطعة التي تم إنشاؤها لتمكين / تعطيل بناء على الحالة الأساسية.

يبدو معقدا بعض الشيء، ولكن بمجرد إنشاء البنية التحتية الكامنة وراء البنية التحتية الأساسية، هناك خطوط من أسلاك التعليمات البرمجية تصل ظروفك، ثم تتزامن واجهة المستخدم دائما مع الشروط.

لا أعتقد أنني كتبت رسميا عن نمط التمكين، أو أشرك إليك فقط إلى عنوان URL.

HTH،

كين

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top