هو ممارسة جيدة لتنفيذ خطة الطريقة قالب عبر C # الأحداث؟

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

سؤال

وأنا أحاول الآن أن نفهم بعض التعليمات البرمجية ولقد وجدت نمطا، الذي يبدو غريبا بعض الشيء بالنسبة لي. وهناك فئة عنصر التحكم المستخدم مع الحدث "EditorOpen. في البداية، اعتقدت أن هذا الاسم غير صحيح، لأنه لا تنتهي مع '-ing "أو" إد "، كما يقترح MSDN. ومع ذلك، في وقت لاحق ولقد تبين أن هذا الحدث لم يكن لإبلاغ عن شيء يحدث، وإنما هو بالأحرى نوع من طلب للقيام بهذه العملية الفعلية. هذا هو رمز العميل، الذي من المتوقع أن أداء "فتح محرر"!

ولقد شعرت بشيء من الدهشة لمعرفة أن هذا هو في الواقع نوع من طريقة قالب تصميم نمط، والتي يمكن أن تكون هناك إجراءات متعددة مرتبطة نائبا عمل واحد.

وأعتقد أنه من المثير للاهتمام جدا، ولكن أنا أيضا خائف أن استخدام الأحداث في مثل هذه الحالات قد تكون مضللة إلى حد كبير. على أي حال، نحن لا نتحدث عن EVENTS هنا، ولكن حول طلبات. جلالة ... وربما سيكون من طيب، وإذا لم يكن سوى اسم الحدث 'EditorOpeningRequest' أو 'EditorOpeningRequested. ما رأيك؟ كيف تعلق ذلك خلال استعراض مدونة؟

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

المحلول

واذا لم يكن هناك سبب وجيه جدا أن يكون لديك كائنات متعددة التعامل مع طلب لفتح محرر، أود أن أقترح أن يجب أن يكون مندوب بدلا من الحدث. هذا يحد لك إلى وجود معالج واحد من الطلب، الذي يبدو أكثر منطقية في هذه القضية.

وعلاوة على ذلك أود أن تغيير الاسم إلى OpenEditor لأن هذا هو أكثر وصفية لما أنت تسير يمكن توقعه. إذا لم العصا مع نموذج الحدث، ثم OpenEditorRequested قد يكون اسم أفضل.

وHTH.

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