سؤال

ما هو العمل نمط تصميم, لم أسمع بها من قبل ؟ أنا الشك هو نفس الأمر تصميم نمط [ويكيبيديا] ولكن أنا لا يمكن العثور على أي من الموارد على ذلك.

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

المحلول

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

نصائح أخرى

أنا أقرأ "العمل/منفذ نمط"في MSDN الآن و قد نختلف مع فرضية أن قيادة العمل/منفذ أنماط هي نفسها.

من وصف نمط القيادة في SourceMaking.com:

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

من المقالة MSDN عن العمل/منفذ نمط:

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

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

"قيادة" يشعر مثل نصف العمل/منفذ نمط - "العمل" يبدو مرادفا "القيادة".العمل/منفذ نمط يأخذ الأمور خطوة واحدة أبعد من ذلك يصف قلق آخر من تقع مسؤولية اتخاذ التغييرات التي تم إنشاؤها بواسطة "العمل" أو "الأمر" وحفظها في مكان.

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

والطبقة العمل، الذي يمكن أن تصمم لبنة في هذا النمط تصميم على النحو التالي: -

public interface Action{
  public void do();
  public void undo();
  public void do(int iNoOfTimes);
}

public class FileCopyAction implements Action{
  private int iActionId;
  public void do(){}
  public void undo(){}
  public void do(int iNoOfItems){}
}

ونأمل أن يساعد.

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