نموذج مضاد

عودة للموسوعة

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

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

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

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

نماذج مضادات معروفة

نطقب:Examplefarm

نماذج مضادات تنظيمية

  • شلل التحليل: تكريس جهد لا يتناسب مع فترة التحليل للمشروع
  • مشروع مدر للأموال: منتج ذي كسب غالبا ما يؤدي إلى الشعور بالرضا عن منتجات جديدة
  • تصميم من قبل لجنة: نتيجة وجود الكثير من المساهمين في التصميم، ولكن بلا رؤية موحدة
  • تصعيد التزامي: فشل في إلغاء قرار عندما يثبت خطأ
  • Management by perkele: أسلوبه إداري استبدادي بدون التسامح مع المعارضة
  • إدارة المصفوفة: هيكل تنظيمي غير مركز ينتج في تقسيم الولاءات وعدم وجود اتجاه
  • خطر أخلاقي: عزل صانع القرار عن عواقب قراره
  • فطر الإدارة: إبقاء الموظفين في جهل وتضليل (يبقى في الظلام ويتم تسميده)، يهجر ليغلي، وأخيرا يعبأ
  • المدخنة أوالصوامع: هيكل يدعم معظم تدفق البيانات الأعلى – الأسفل ولكن يمنع الاتصال التنظيمي المتبادل
  • قبضة الباعة: اعتماد نظام بشكل مفرط على مكون مورد من الخارج

نماذج مضادات لإدارة المشاريع

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

نماذج مضادات تحليلية

  • لامبالاة المارة: عند اتخاذ قرار شرط أوتصميم خطأ، ولكن الناس الذين لاحظوا هذا الخطأ لا يعملون شيئا لأنه يؤثر على عدد أكبر من الناس

نماذج مضادات تصميم البرمجيات

  • انعكاس التجريد: عدم تعريض الوظائف التطبيقية المطلوبة من قبل المستخدمين، بحيث يعاد تطبيقها باستخدام وظائف أعلى مستوى
  • وجهة نظر غامضة: عرض نموذج (عادة تصميم وتحليل كائنية التوجه (OOAD)) دون تحديد وجهة نظرها
  • كرة كبيرة من الطين: نظام بدون هيكلة معروفة
  • Database-as-IPC: استخدام قاعدة البيانات كقائمة رسائل لـ الاتصال البيني الروتيني حيث تكون آلية خفيفة الوزن أكثر مناسبة
  • Gold Plating: مواصلة العمل على مهمة أومشروع جيد لوقت أطول لإضافة قيمة إضافية
  • تأثير المنصة الداخلية: نظام يمكن تخصيصه ليصبح نسخة فقيرة طبق الأصل من البرنامج الأساسي للتطوير
  • حل معضلة الإدخال: الفشل في تحديد وتطبيق معالجة إدخال غير صالحة
  • سخام قابلة: جعل قابلة قويا لدرجة انه من الصعب للغاية تطبيقها
  • الزر السحري: تطبيق الترميز منطقي بشكل مباشر داخل قابلة الكود، من دون استخدام التجريد
  • حالة سباق: الفشل في رؤية نتيجة أوامر مختلفة للاحداث
  • مدخنة النظام: تجممع لا يُستحمل من المكونات السيئة

نماذج مضادات تصميم كائنية التوجه

  • Anemic Domain Model: استخدام نموذج المجال دون أيمنطق تجاري. لا يمكن لكائنات نموذج المجال حتى تضمن صحتها في أي لحظة، لأن منطق صحتها وتحولها في مكان ما بالخارج (على الأرجح في أماكن متعددة).
  • BaseBean: وراثة وظائف من فئة الأداة بدلا من تفويض إليها
  • Call super: طلب فئات فرعية للاتصال بأسلوب فائق التجاوز
  • مشكلة بتر الدائرة: تفريع أنواع متغيرة، على أساس القيمة الفرعية
  • الاعتماد الدائري: تقديم تبعيات متبادلة مباشرة أوغير مباشرة لا لزوم لها بين كائنات أووحدات البرمجيات
  • قابلة ثابتة: استخدام القابلات لتعريف الثوابت
  • كائن الله: هجريز وظائف كثيرة جدا في جزء واحد من التصميم (فئة)
  • Object cesspool: إعادة استخدام الكائنات التي لا تتوافق حالتها مع عقد (ربما ضمني) عدم إعادة استخدامها
  • كائن القصف: الفشل في تغليف الكائنات بشكل سليم وبذلك السماح بدخول غير مقيد إلى دواخلهم
  • الأشباح: كائنات غرضها الوحيد هوتمرير المعلومات إلى كائن آخر
  • اقتران تسلسلي: فئة تتطلب حتى تُسمى أساليبها في ترتيب معين
  • مشكلة يويو: هيكل (على سبيل المثال، ميراثي) من الصعب فهمه بسبب التجزئة المفرطة

نماذج مضادات برمجية

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

نماذج مضادات منهجية

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

نماذج مضادات إدارة التهيئة

  • Dependency hell : مشاكل مع إصدارات بعض البرمجيات المطلوبة
  • DLL hell : معالجة غير كافية لملفات مخطة الربط الديناميكي وخاصة مع مايكروسوفت ويندوز
  • تعارض الامتدادات : مشاكل مع امتدادات مختلفة لإصدارات ما قبل ماك أوإس عشرة من ماك أوأس أثناء محاولة إلصاق نفس الأجزاء من نظام التشغيل
  • محمل صف جافا : الاستخدام الزائد للعديد من ملفات JAR في العادة تسبب مشاكل في المسقط والإصدار نتيج لسوء فهم نموذج محمل صف جافا

انظر أيضا

  • رائحة الكود – symptom of unsound programming

– approaches, styles, maxims and philosophies for software development

المراجع

  1. ^ Budgen, D. (2003). . Harlow, Eng.: Addison-Wesley. صفحة 225. ISBN . مؤرشف من الأصل في 14 فبراير 2020. "As described in Long (2001), design anti-patterns are 'obvious, but wrong, solutions to recurring problems'."
  2. ^ سكوت أمبلر (1998). . Cambridge, UK: Cambridge University Press. صفحة 4. ISBN . مؤرشف من الأصل في 14 فبراير 2020. "...common approaches to solving recurring problems that prove to be ineffective. These approaches are called antipatterns."
  3. ^ Koenig, Andrew (March/April 1995). "Patterns and Antipatterns". Journal of Object-Oriented Programming. 8 (1): 46–48. ; was later re-printed in the: Rising, Linda (1998). . Cambridge, U.K.: Cambridge University Press. صفحة 387. ISBN . مؤرشف من الأصل في 14 فبراير 2020. "Anti-pattern is just like pattern, except that instead of solution it gives something thats looks superficially like a solution, but isn't one."
  4. ^ Vendor Lock-In at antipatterns.com[وصلة مكسورة]نسخة محفوظةسبعة يناير 2012 على مسقط واي باك مشين.
  5. ^ Lava Flow at antipatterns.com نسخة محفوظة 07 يناير 2012 على مسقط واي باك مشين.
  6. ^ "Undocumented 'lava flow' antipatterns complicate process". Icmgworld.com. 2002-01-14. مؤرشف من الأصل في 17 يونيو2016. اطلع عليه بتاريخ 03 مايو2010.
  7. ^ Papadimoulis, Alex (2007-04-10). "Soft Coding". Worsethanfailure.com. مؤرشف من الأصل في 17 مارس 2012. اطلع عليه بتاريخ 03 مايو2010.

لمزيد من القراءة

  1. Laplante, Phillip A. (2005). Antipatterns: Identification, Refactoring and Management. Auerbach Publications. ISBN .
  2. Brown, William J. (2000). Anti-Patterns in Project Management. جون وايلي وأولاده , ltd. ISBN .

وصلات خارجية

  • Anti-pattern at ويكي ويكي وب
  • Anti-patterns catalog
  • AntiPatterns.com Web site for the AntiPatterns book
  • Patterns of Toxic Behavior
تاريخ النشر: 2020-06-02 01:23:16
التصنيفات: بنية البرمجيات, تصميم, سلوك تنظيمي, سلوك معاد للمجتمع, علم النفس التنظيمي, مكان العمل, صفحات تحتوي مراجع ويب بتاريخ وصول وبدون رابط تشعبي, جميع المقالات ذات الوصلات الخارجية المكسورة, مقالات ذات وصلات خارجية مكسورة منذ مايو 2019, قالب أرشيف الإنترنت بوصلات واي باك, صفحات تستخدم خاصية P244, بوابة برمجة الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات, صفحات تستخدم خاصية P373

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

الملك يبعث رسالة إلى رئيس أذربيجان

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:10:35
مستوى الصحة: 71% الأهمية: 77%

القضاء الفرنسي يحكم على ساركوزي بالسجن

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:10:32
مستوى الصحة: 67% الأهمية: 84%

خطة مغربية مُحكمة لضبط المهاجرين إلى سبتة

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:10:25
مستوى الصحة: 63% الأهمية: 84%

محافظة القاهرة: لا تعطيل للدراسة غدا

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:21:11
مستوى الصحة: 46% الأهمية: 60%

أخنوش يلتقي رئيس حكومة النيجر وملفات ثقيلة على الطاولة

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:10:21
مستوى الصحة: 64% الأهمية: 74%

نهضة بركان يستقر على مدرب جديد بعد الانفصال عن الكرمة

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:10:28
مستوى الصحة: 70% الأهمية: 77%

ليبرمان يهاجم مصر: "سنغزو رفح رغم غضبكم"

المصدر: RT Arabic - روسيا التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:09:24
مستوى الصحة: 94% الأهمية: 94%

رسالة من رئيس جمهورية النيجر للملك محمد السادس

المصدر: أخبارنا المغربية - المغرب التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:09:48
مستوى الصحة: 49% الأهمية: 54%

الرئيس السيسى يصطحب أردوغان فى زيارة لمسجد وضريح الإمام الشافعى

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-14 21:21:15
مستوى الصحة: 48% الأهمية: 54%

رسالة الجزائر.. وصول بعثة الأهلي مطار هواري بومدين

المصدر: الأهلى . كوم - مصر التصنيف: رياضة
تاريخ الخبر: 2024-02-14 21:09:54
مستوى الصحة: 36% الأهمية: 48%

تحميل تطبيق المنصة العربية