تحوي هذه المقالة أو هذا القسم ترجمة آلية. فضلًا، ساهم في تدقيقها وتحسينها أو إزالتها لأنها تخالف سياسات ويكيبيديا. (نقاش)
في هندسة البرمجيات، النموذج المضاد (أو antipattern) هو أحد نماذج التصميم من الشائع استخدامه ولكنه غير فعال و/ أو يؤدي إلى نتائج عكسية في الممارسة العملية.[1][2]
وقد وضع هذا المصطلح في عام 1995 من قبل أندرو كونيغ،[3]
وهو مستوحى من كتاب عصابة الأربعة ديزاين باترنز، التي طورت مفهوم نماذج التصميم في مجال البرمجيات. وشاع المصطلح على نطاق واسع بعد ثلاث سنوات من خلال كتاب انتي باترن، الذي مدد استخدام المصطلح إلى ما وراء مجال تصميم البرمجيات وإلى التفاعل الاجتماعي العام. ووفقا للمؤلفين الكتاب، يجب أن يكون هناك ما لا يقل عن اثنين من العناصر الرئيسية الحالية لتمييز الفعلي بين النموذج المضاد وبين عادة سيئة بسيطة، أو ممارسة سيئة، أو فكرة سيئة:
نموذج متكرر لحركة، أو لعملية أو لهيكل يبدو في البداية أنه مفيد، ولكن في نهاية المطاف تنتج عواقب سيئة أكثر من النتائج مفيدة، و
وحل إعادة هيكلة الكود تم توثيقه بوضوح، وثبت في الممارسة الفعلية وتكرارها.
كثيرا ما يستخدم بشكل سئ مع ألفاظ محدثة ذات تناقض ظاهري، وكثير من الأفكار المضادة للنموذج تصل إلى ما هو أكثر قليلا من الأخطاء، أو التشدق، أو المشاكل القابلة للحل، أو الممارسات السيئة التي يجب تجنبها إذا كان ذلك ممكنا. وأحيانا تُعرف باسم أغوية أو النماذج المظلمة، وهذا الاستخدام غير الرسمي لهذا المصطلح يشير إلى فئات اعادت اختراع حلول سيئة للمشاكل. وبالتالي، فالعديد من المرشحات كنماذج مضادات قيد المناقشة لا تعتبر رسميا مضادة للنماذج.
ومن خلال وصف الأخطاء المتكررة رسميا، يمكن للمرء أن يتعرف على القوى التي تؤدي إلى تكرارها ومعرفة كيف قام الآخرون بإعادة هيكلة تلك النماذج المكسورة.
زحف الموت: يعرف الجميع أن المشروع سيكون بمثابة كارثة—ما عدا الرئيس التنفيذي—لذا يتم إخفاء الحقيقة لمنع الإلغاء الفوري للمشروع -- (على الرغم من أن الرئيس التنفيذي غالبا ما يكون على دراية ولكنه يتجاهل لتعظيم الربح). ومع ذلك، تظل الحقيقة مخفية، ويتم الاحتفاظ بشكل مصطنع بالمشروع حتى يأتي اليوم الأخيرا ("الانفجار الكبير"). تعريف بديل: يتم وضع الموظفين تحت ضغوط للعمل إلى وقت متأخر من الليل وعطلات نهاية الأسبوع على مشروع مع مهلة غير معقولة.
تفكير القطيع: خلال التفكير الجماعي، يتجنب أعضاء الفريق تعزيز وجهات النظر خارج منطقة إجماع الأراء المريحة
الدخان والمرايا: لإظهار صعوبة تنفيذ الوظائف أو كيفية عدم تنفيذها
سخام البرمجيات: السماح لإصدارات متعاقبة لنظام ما لطلب المزيد من الموارد
نموذج الشلال: طريقة قديمة لتطوير البرمجيات التي تتعامل بصورة كافية مع التغيير الغير متوقع
Anemic Domain Model: استخدام نموذج المجال دون أيمنطق تجاري. لا يمكن لكائنات نموذج المجال أن تضمن صحتها في أي لحظة، لأن منطق صحتها وتحولها في مكان ما بالخارج (على الأرجح في أماكن متعددة).
^
Budgen, D. (2003). Software design. Harlow, Eng.: Addison-Wesley. ص. 225. مؤرشف من الأصل في 2020-02-14. "As described in Long (2001), design anti-patterns are 'obvious, but wrong, solutions to recurring problems'."
^
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). The patterns handbook: techniques, strategies, and applications. Cambridge, U.K.: Cambridge University Press. ص. 387. مؤرشف من الأصل في 2020-02-14. "Anti-pattern is just like pattern, except that instead of solution it gives something thats looks superficially like a solution, but isn't one."