سؤال

ما هي الاختلافات بين الإجراءات والأوامر في سياق Eclipse RCP؟ أعلم أن كلاهما يساهم في إدخالات القائمة، ولكن أيهما أفضل؟ و لماذا؟

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

شكرا

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

المحلول

هل قرأت الكسوف ويكي الأسئلة الشائعة ما هو الفرق بين الأمر واتخاذ إجراء؟

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

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

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

properties of a command

هذه شرط تفاصيل الاختلافات

أجراءات:

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

تتضمن الأوامر نقاط تمديد أكثر، لكن:

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

نصائح أخرى

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

لشيء بسيط، سأذهب مع الإجراءات.

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

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