AzLearn

أنماط التصميم

Design Patterns

مفهوم ~25 دقيقة

أنماط التصميم — Design Patterns

Go ليست لغة OOP تقليدية، لكنها تملك أنماط تصميم خاصة بها نشأت من الممارسة. هذه الأنماط ستجدها في كل مشروع Go احترافي.

نمط الخيارات الوظيفية — Functional Options

هذا النمط يحل مشكلة الدوال التي تقبل إعدادات كثيرة اختيارية:

main.go

لماذا هذا النمط مميز:

  • API نظيف وقابل للتوسع
  • القيم الافتراضية واضحة
  • إضافة خيارات جديدة لا تكسر الكود القائم
  • وثائقي بذاته — WithTLS(true) واضح

نمط Builder

main.go

حقن الاعتماديات — Dependency Injection

في Go، حقن الاعتماديات يتم ببساطة عبر الواجهات والمُنشئات:

main.go

نمط تجمّع العمال — Worker Pool

main.go

نمط الأنابيب — Pipeline Pattern

main.go
تحدي — Challenge