نقد الأنماط.
يبدو أنه لم يتبقَّ سوى الأشخاص الكسالى الذين لم ينتقدوا أنماط التصميم بعد. دعونا نلقي نظرة على الحجج الأكثر شيوعاً ضد استخدام الأنماط.
حلول ترقيعية للغات البرمجة الضعيفة
عادة ما تنشأ الحاجة إلى الأنماط عندما يختار الأشخاص لغة برمجة أو تقنية تفتقر إلى المستوى المطلوب من التجريد. في هذه الحالة، تصبح الأنماط حلاً ترقيعياً يمنح اللغة قدرات خارقة هي في أمس الحاجة إليها.
على سبيل المثال، يمكن تنفيذ نمط الاستراتيجية (Strategy) باستخدام دالة مجهولة بسيطة (lambda) في معظم لغات البرمجة الحديثة.
حلول غير فعالة
تحاول الأنماط إضفاء الطابع المنهجي على الأساليب المستخدمة بالفعل على نطاق واسع. ويُنظر إلى هذا التوحيد من قبل الكثيرين على أنه عقيدة جامدة، ويقومون بتنفيذ الأنماط “حرفياً” دون تكييفها مع سياق مشروعهم.
استخدام غير مبرر
إذا كان كل ما تملكه هو مطرقة، فإن كل شيء يبدو وكأنه مسمار.
هذه هي المشكلة التي تلاحق العديد من المبتدئين الذين تعرفوا للتو على الأنماط. فبعد أن يتعلموا عن الأنماط، يحاولون تطبيقها في كل مكان، حتى في المواقف التي يكون فيها الكود الأبسط كافياً تماماً.