تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقال- Custom EventHandler & Classes - الجزء الأول
#3
كاتب المشاركة : silverlight

أخي الفاضل إسلام

الأسلوب الذي تفضلت باستخدامه في مثالك أسلوب كانت مايكروسوفت تعتمده قديما في الكلاسات الخاصة بها وبما انهم كانوا يقومون بتعريف Delegate علي أنه Object لذلك ومن المؤكد انهم كانوا يحتاجون الي استخدام SyncLock التي تعمل هنا كغلاف لأي Handler حتي يتم تنفيذه وحتي لا يحدث Blocking بين Handlers المختلفة

والسبب في ذلك هو التأكد من أن أي Handler يتم تنفيذه عليه أن ينتظر ما قبله من Delegates حتي يبدا هو في تنفيذ مهامه وهنا تأتي أهمية جملة SyncLock لأنها ستضمن تنفيذ Handler كاملا وبالتالي لا يحدث تداخل أو Blocking بين Delegates المختلفة

أما بالنسبة للفارق بين Custom EventHandler وبين الأسلوب القديم وهو تعريف Delegates علي أنها Objects اسمح لي أن اوضح الأمر بفكرة بسيطة جدا

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

وعندما نقوم بتعريق Delegate جميعها علي أنها Objects يصبح الأمر مثل العائلة التي يحمل أولادهم جميعا نفس الإسم ولذلك نحتاج الي استخدام SyncLock

أما عندما نقوم باستخدام Custom EventHandler أو Custom Delegates فهنا نحن نحرص علي أن يكون كل منهم له اسم مختلف عن الأخر وهذا سيؤدي الي سهولة عمل كل منهم علي حدة وبالتالي لا ينتظرون بعضهم البعض لتنفيذ مهامهم المختلفة

وفي الحالتين والمقصد هنا أنه في حالة استخدام الاسلوب القديم وهو تعريف Delegates علي أنها Objects أو استخدام الأسلوب الأحدث قليلا الأ وهو استخدام Custom EventHandler هنا تأتي أهمية عمل Dispose لهذه EventHandler فالهدف هنا هو المساعدة علي تحرير ذاكرة الكمبيوتر وبالتالي أنت تساعد الكلاس GC علي تنفيذ مهامه بشكل أفضل

عموما الأمثلة التي سوف أضعها لاحقا ربما ستفسر الأمر بشكل أفضل

تقبل تحياتي
أخوك عمر
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مقال- Custom EventHandler & Classes - الجزء الأول - بواسطة Raggi Tech - 05-10-12, 11:46 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الجزء الثالث من:كيف تجعل الـ Text Box ذكي!يترجم العمليات الحسابية ويخرج الناتج (الأقواس المتعددة) !! أنس محمود 10 8,373 19-07-22, 12:15 AM
آخر رد: StartLight4000
  مقال: الكومبو بوكس ComboBox كيف تضيف أيقونات Blue Sky 1 3,448 30-06-19, 10:41 AM
آخر رد: invocker
  [درس فيديو] مثال بسيط لبرنامج إجازات فقط لأغراض الشرح (الدرس الأول) عبدالله الدوسري 7 12,084 28-04-18, 06:55 PM
آخر رد: moniam
  الفرق بين الأصناف Classes و الكائنات Objects RaggiTech 1 8,440 28-03-18, 10:30 PM
آخر رد: alsouf
  حساب قيمة معادلة(اقصد صيغة دون مجاهيل) مكتوبة بالتكست : الجزء الخامس والاخير محمد شريقي 4 4,826 23-02-18, 10:44 PM
آخر رد: العواد الصغير
  مقدمة إلي إخفاء المعلومات - الجزء الأول silverlight 5 4,501 07-01-17, 10:44 PM
آخر رد: Basil Abdallah
  مقدمة إلي إخفاء المعلومات - الجزء الثاني silverlight 1 3,209 06-01-17, 11:52 AM
آخر رد: silverlight
  تحويل الفيديو في برامجك-الجزء الثاني( إصلاح للمشاكل + تعديل للروابط + توضيح للأمر ) RaggiTech 1 3,506 10-12-14, 06:37 PM
آخر رد: abulayth
  الجزء الثاني من:كيف تجعل الـ Text Box ذكي!يترجم العمليات الحسابية ويخرج الناتج ( العمليات المتعددة)! أنس محمود 0 3,002 22-02-13, 12:39 AM
آخر رد: أنس محمود
  مقال- كيفية الاستغناء عن الداتا بيز التقليدية في برامجنا – ألجزء الأول RaggiTech 1 3,683 06-10-12, 12:23 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: