سؤال

هل يمكن لأي شخص أن يشرح سبب اختيار اسم "Decorator" للوظيفة التي ينقلها نمط تصميم Decorator؟

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

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

المحلول

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

يحرر: الصفحة المرجعية 308 في "أنماط التصميم في C#" بقلم ستيفن جون ميتسكير:

أحد التطبيقات الأصلية لـ DECORATOR (ومن المفترض أنه التطبيق الذي اشتق منه DECORATOR اسمه) يكمن في بناء مكونات واجهة المستخدم الرسومية.

نصائح أخرى

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

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

لأنك إضافة وظائف جديدة إلى كائن موجود. في جوهرها، وأنت "تزيين" الكائن مع وظائف جديدة.

يا، وترك الأمر لالمهوسون لتعويض الأسماء.

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