لست صاحب خبرة كبيرة في هذا المجال
لكن عملي يضطرني في بعض الأحيان إلى تعرف على بعض الأنماط
وأحببت أن أشارككم ما أعرف
وأستفيد من خبراتكم في هذا المجال
جميع المقالات التي أكتبها هنا منقولة من مدونتي
وليس لأحد الحق في نقلها دون إذن مني
لا أعلم إن كان هذا القسم هو المناسب لمثل موضوعي
إن كان هناك قسم أكثر مناسبة فأرجو من الإدارة نقل الموضوع
نمط الورقة الوحيدة Singleton
علم الأنماط من العلوم المهمة في هندسة البرمجيات
يمكن تعريفه على أنه بعض الحلول الكائنية لمشاكل قد تواجه المبرمج في أي وقت كان من عمله
في هذه السلسلة أحاول أن أضع النمط في إطار سهل بسيط
بسم الله نبدأ مع نمط الورقة الوحيدة Singleton
هذا النمط يعد من أبسط الحلول التي يقدمها علم تصميم الأنماط Design Patterns
مع بساطته إلا أنه يحل الكثير من المشاكل التي قد تواجه المبرمج
أشهر هذه المشاكل
1-الوراثة المتعددة
في بعض اللغات التي لا تدعم هذا النوع من الوراثة
يعد Singleton أحد الحلول المطروحة
2-الاقتصار على عدد معين من الكائنات لفئة معينة في أثناء التشغيل
بكل بساطة يجب أن تقوم بجعل صانع الكائنات constractur في فئتك خاص private
( على فكرة آخرة مرة أكتب فيها constratur في مقالاتي أظن أن لفظة صانع الكائنات أو البناء كافية إلى حد ما )
بهذا تكون أنهيت عمل النمط لكن كيف تقوم بحل المشاكل من خلاله
في عملية الوراثة المتعددة
قم بجعل أي صانع كائنات في فئتك خاص
قم بكتابة صانع كائنات آخر واجعله عام public واجعل المعاملات parameter المدخلة له هي الفئات التي تريد وراثتها
قم بتخزين الكائنات من هذه الفئات وبهذا تكون حصلت على حل للوراثة المتعددة
بالنسبة لعملية ضمان عدد معين من الكائنات
قم بجعل كل البنائين في فئتك مختصين بنفس الفئة private
قم بكتابة إجراء method يقوم ببناء كائن إذا كان عدد الكائنات أقل من المطلوب
إذا وصل عدد الكائنات إلى الحد المسموح فاجعل هذا الإجراء يرجع إحدى قيمتين:
1-null
2-يرجع قيمة أي عنصر من العناصر التي قمت بإنشائها
نكمل مع نمط المصنع بإذن الله
الله معكم
