تخطَّ إلى المحتوى

🧩 شرح البرمجة كائنية التوجّه

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

الدرس 22 من 25· ⏱ 1 دقائق قراءة

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

حلول مُجرّبة لمشاكل تصميم متكرّرة — مفردات مشتركة بين المطوّرين.

Singleton — نسخة واحدة

class Config:
    _instance = None
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

نسخة واحدة فقط (إعدادات، اتصال قاعدة بيانات).

Factory — إنشاء كائنات

def create_shape(kind):
    if kind == "circle": return Circle()
    if kind == "square": return Square()

يخفي منطق الإنشاء عن المستخدم.

Observer — الاشتراك والإشعار

class Subject:
    def __init__(self): self.observers = []
    def subscribe(self, o): self.observers.append(o)
    def notify(self, data):
        for o in self.observers:
            o.update(data)

أساس أنظمة الأحداث والتفاعلية (مثل React state).

Strategy — خوارزمية قابلة للتبديل

class Sorter:
    def __init__(self, strategy):
        self.strategy = strategy
    def sort(self, data):
        return self.strategy(data)

التصنيفات

  • إنشائية: Singleton، Factory، Builder.
  • هيكلية: Adapter، Decorator، Facade.
  • سلوكية: Observer، Strategy، Iterator.

💡 لا تفرض الأنماط؛ استخدمها عندما تطابق مشكلتك فعلًا.

🎯 التالي: نمذجة UML.

هل كان هذا الدرس مفيدًا؟