4.5 KiB
title | localeTitle |
---|---|
Design Patterns | أنماط التصميم |
أنماط التصميم
يستخدم المبرمجون ومهندسو البرمجيات أنماطًا للتصميم لحل المشكلات الشائعة والمتكررة في بنية البرامج. توفر الأنماط منهجًا لاغيا لغويا للبرامج الموجهة للكائنات التي تساعد المطورين على اتباع مبادئ التصميم الجيد للتطبيق.
لماذا تصميم الأنماط؟
يوفر تطوير أنماط التصميم العديد من المزايا:
- من السهل اتباع مبادئ البرمجة الجيدة مثل مبادئ SOLID .
- إنها تحافظ قطع كود أصغر حتى متاحة أسهل لاختبار والتصحيح
- فهو يساعد في الحفاظ على الشفرة مقترنة بشكل فضفاض حتى يسهل إعادة استخدام الكود وتحديثه للتطبيقات الجديدة
- إنه يسهل فهم الشفرة ، بحيث يمكن للمساهمين الجدد أن يكبروا بسرعة
استخدام أنماط التصميم يتطلب بعض المقايضات ، ويجب على مطوري البرامج الجدد أن يتذكروا ما يلي:
- لا توجد رصاصات فضية في البرمجة ، وأنماط التصميم ليست استثناء
- وتضيف أنماط التصميم طبقة من التجريد إلى الشفرة ، مما يزيد من التصميم الأولي والجهد الإنمائي
- إن الإفراط في استخدام أنماط التصميم أو إجبارها على ملاءمتها يجعل من الصعب فهم الشفرة
دعم اللغة
نشأت أنماط التصميم من عالم اللغات المكتوبة بشكل ثابت مثل C ++ و Java و C #. تعتمد معظم الموارد حول التطوير حسب نمط التصميم على واحدة من هذه اللغات.
ومع ذلك ، فإن أنماط التصميم هي فقط: الأنماط. فهي ليست تطبيقات ، مثل الطبقات أو الواجهات ، وليست مقيدة لأي لغة واحدة .
عندما تتعلم أنماط التصميم داخل لغة ديناميكية ، إذا بدت أنماط معينة معقدة بدون داع أو غير بديهية ، تذكر أصولها. لا يزال بإمكان المطورين في اللغات الديناميكية استخدام أنماط التصميم التالية والاستفادة منها ، على الرغم من أنه قد يلزم المزيد من الأبحاث لفهمها بشكل كامل.
الاستخدامات
أنماط التصميم ممتازة في حل مشاكل الترميز الأساسية بطريقة بسيطة ومتكررة. على نطاق واسع ، تنقسم إلى ثلاث فئات:
- الأنماط الإبداعية تصف كيفية إنشاء كائنات جديدة
- تصف الأنماط الهيكلية كيفية إنشاء الكائنات خارج الكائنات الأخرى
- الأنماط السلوكية تصف كيف تتواصل الكائنات مع بعضها البعض
يمكن تنفيذ هذه المهام بدون أنماط تصميم ، ولكن أنماط التصميم تقلل من مخاطر أنك ستنتهك الممارسات الجيدة وإنشاء كود يصعب الحفاظ عليه.
معلومات اكثر:
- أنماط تصميم كامران أحمد للبشر هي مقدمة ممتازة للأنماط المحددة
- أنماط التصميم هو الكتاب الذي بدأ هذه الممارسة
- توفر أنماط مارتن فاولر من هندسة التطبيقات التطبيقية مجموعة من الأنماط الأكثر تطوراً لتطبيقات المؤسسات
- يوفر Sourcemaking موردًا عبر الإنترنت يحتوي على أمثلة ومعلومات إضافية حول أنماط التصميم