Ask Developer Hangout - Week 23 - Object Oriented Design Patterns | AskDeveloper Podcast
Skip to content
AskDeveloperPODCAST
EpisodesTopicsPeopleListen & subscribe

Find a conversation across both shows. Try AI, C#, or a guest’s name.

All episodes
AskDeveloper Podcast
AudioVideo
Published Sep 7, 2013

EP23 - Ask Developer Hangout - Week 23 - Object Oriented Design Patterns

Chapters

  1. 00:00مقدمة: الأسبوع 23 وأنماط التصميم
  2. 02:11لماذا ظهرت Design Patterns وحدود اللغات
  3. 04:49تاريخ الأنماط وكتاب Gang of Four
  4. 08:24تصنيفات الأنماط ومرجع Refactoring Guru
  5. 09:01Adapter Pattern وتحويل الواجهات
  6. 13:36Singleton ومشكلات التزامن والاختبار
  7. 19:01MVC: فصل Model وView وController
  8. 23:16MVVM وView Model للواجهات
  9. 31:47AutoMapper وتطبيق Adapter في ‎.NET
  10. 32:30Iterator ودعم اللغات للحلقات
  11. 36:42Decorator Pattern وتركيب الـStreams
  12. 41:59Abstract Factory لعائلات قواعد البيانات
  13. 50:57كيف تتعلم Design Patterns دون تعقيد
  14. 55:41الأنماط كأدوات ولغة مشتركة للفريق
  15. 01:03:36خلاصة اللقاء ومصادر للتعلم
Programming & developmentSoftware architecture
Design patterns

About this episode

في اللقاء الأسبوعي الثالث والعشرين من اسأل مطور، يناقش محمد الشريف وياسر مكرم أنماط التصميم كحلول متكررة قابلة للتكييف، لا كقوالب إلزامية. يشرحان كيف تمنح الأنماط فرق التطوير مفردات مشتركة لفهم التصميم، وكيف انتقلت بعض الأفكار التي عالجتها الأنماط إلى دعم مباشر في لغات أحدث. يتناول اللقاء Singleton وتعقيدات التزامن وصعوبة اختباره، وAdapter لربط نماذج وواجهات غير متوافقة، وMVC وMVVM لفصل العرض عن البيانات والمنطق، إلى جانب Iterator وObserver وDecorator وAbstract Factory. كما يفرّقان بين النمط نفسه والأدوات التي تطبّق فكرته، ويحذّران من إجبار المشكلة على نمط لمجرد استخدامه، لأن ذلك قد يزيد التعقيد بدل أن يحلّه.

Discussion highlights

  • أنماط التصميم أدلة لحلول مشاكل متكررة وليست وصفات جامدة؛ ينبغي تكييفها مع السياق، وقد يكون الحل الأبسط أفضل أحياناً.
  • Singleton يضمن مثيلاً واحداً، لكن تنفيذه في بيئات متعددة الخيوط يحتاج إلى معالجة التزامن، وقد يصعّب الاختبارات عندما يلزم استبدال الاعتماد الحقيقي ببديل وهمي مثل logger.
  • Adapter يفصل النظام عن اختلاف الواجهات أو نماذج البيانات؛ يضرب المتحدثون مثال تحويل firstName وlastName إلى fullName، أو birthDate إلى age عند التكامل مع نظام آخر.
  • في MVC يحمل الـController منطق تفاعل الواجهة، بينما يركز الـView على العرض؛ أما MVVM فيقدّم ViewModel يحوي فقط البيانات المناسبة للواجهة، ما قد يقلل البيانات المنقولة إلى العميل.
  • يوضح Abstract Factory كيفية التعامل مع عائلات من الكائنات، مثل موفري قواعد بيانات مختلفين، عبر واجهات مشتركة وعزل تفاصيل الإنشاء عن بقية الكود.

Links & resources

  • رابط لقاء Object Oriented السابق:www.youtube.com
  • رابط اللقاء على يوتيوب:www.youtube.com
Open on YouTube
IN THIS CONVERSATIONMohamed Elsherif
Mohamed ElsherifHost
Yasser Makram
Yasser MakramGuest

Keep the conversation going.

Ask Mohamed Subscribe to the podcast
KEEP EXPLORING

Continue the conversation.

Episode artwork: Ask Developer Hangout - 17 - Object Oriented Programming \ Design1:48:41
More on Design patterns

Ask Developer Hangout - 17 - Object Oriented Programming \ Design

AskDeveloper Podcast
Video
Software architectureProgramming & development
Jun 22, 2013
Episode artwork: EP05 - Talking Design - Part 2 - Design Process00:47:03
More on Design patterns

EP05 - Talking Design - Part 2 - Design Process

AskDeveloper Podcast
AudioVideo
Software architectureProgramming & development
Mar 31, 2013
Episode artwork: EP04 - Talking Design - Part 1 - SOLID Principles00:53:19
More on Design patterns

EP04 - Talking Design - Part 1 - SOLID Principles

AskDeveloper Podcast
AudioVideo
Software architectureProgramming & development
Mar 26, 2013
AskDeveloper.

Conversations about software, technology, and the people behind it.

Follow the podcastXFacebook
The Weekend Podcast

Three hosts. A weekly catch-up on tech, news, money, and whatever sparks a good conversation.

Follow the podcastTribbel
About Mohamed Ask the host
SubscribePrivacy PolicyOwner admin
© 2026 AskDeveloper Podcast