اذهب إلى المحتوى

البحث في الموقع

المحتوى عن 'factory method'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 1 نتيجة

  1. يهدف نمط التصميم تابع المعمل Factory Method إلى تعريف واجهة Interface لإنشاء الكائنات مع ترك مهمّة تحديد الصنف الذي سيُستهَل Instantiate إلى الأصناف المتفرّعة عن الواجهة. يعرّف نمط تابع المعمل تابِعا (دالة) مشيّدا افتراضيا Virtual، كما ينطلق من مبدأ أن استخدام العامل new مؤذ ويجب تغليفه Encapsulate. ملاحظة: نعني بالتغليف Encapsulation في إطار البرمجة كائنيّة التوجه Object-oriented programming تلك الآليّة التي تتيح جمع البيانات (الخاصيّات Attributes) والإجراءات المطبّقة عليها (التوابع Methods) ضمن نفس الكائن، مع تقييد إمكانيّة وصول الكائنات الأخرى إلى عناصر الكائن. المشكلة تحتاج أطر العمل Frameworks إلى توحيد النموذج المعماري Architectural model لمجموعة من التطبيقات، لكنها تسمح للتطبيقات الفردية أن تعرّف كائنات مجالها الخاص. تؤمّن أطر العمل استهلال تلك الكائنات. المناقشة يشبه نمط تابع المعمل في إنشائها للكائنات طريقة القالب Template Method في تطبيقها للخوارزميات، إذ يقوم الصنف الأساسي بتحديد السلوك العام والقياسي (مستخدما ماسكات مكان افتراضية Virtual Placeholders واضحة لخطوات الإنشاء)، ومن ثم يفوّض إنشاء التفاصيل إلى الأصناف الفرعية التي يؤمنها العميل. يجعل نمط تابع المعمل التصميم أكثر قابلية للتخصيص من دون تعقيده كثيرا. وفي حين تتطلب أنماط التصميم الأخرى أصنافا جديدة فإن تابع المعمل لا يحتاج سوى لتابع جديد. يُستخدَم نمط تابع المعمل غالبا كطريقة قياسية لإنشاء الكائنات، لكن هذا غير ضروري عندما يكون الصنف المستهل لا يتغير أبدا، أو عندما يحصل الاستهلال بعملية يمكن للصنف الفرعي أن يلغيها بسهولة (كعملية الاستهلال). يشبه تابع المعمل نمطَ معمل التجريد، ولكن دون الاهتمام كثيرا بتجميع الكائنات ضمن مجموعات مرتبطة. تُحدّد البنية المعمارية لأُطر العمال توابع المعمل عادةً، بينما يُترَك تطبيقها لمستخدمي إطار العمل. الهيكلية تتداخل طريقة التطبيق الأصليّة - كما عرَّفها روّاد أنماط التصميم البرمجي - مع طريقة تطبيق معمل التجريد؛ إلا أن طريقة أخرى اشتهرت بعد ذلك. يتمثّل التطبيق الأكثر شعبية لنمط تابع المعمل في استخدام تابع ثابت Static يُرجِع كائنا من الصنف حيثُ يوجد التابع المذكور. يختلف التابع المُستخدَم عن التابع المشيّد Constructor في نقاط عدّة، منها: أن الكائن المُرجَع قد يكون عيّنة من صنف فرعي. أنه يمكن استخدام كائن موجود - سبق إنشاءه - بدلا من إنشاء كائن جديد. أن توابع المعمل يمكنها أن تتسمّى بطريقة مغايرة لتلك التي تفرضها لغة البرمجة، ممّا يعني أن الأسماء ستكون أكثر دلالة على عمل التوابع. على سبيل المثال: Color.make_HSB_color(float hue, float saturation, float brightness) وColor.make_RGB_color(float red, float green, float blue). يستقبل التابع ()makeProduct الثابت في الواجهة Product ضمن مخطَّط الأصناف أعلاه المُعطَيات ثمّ يقرّر بناءً عليها الصنف الفعلي للكائن الذي سيُرجعه (ProductOne أو ProductTwo). تُفصَل بقيّة أجزاء البرنامج كليّا عن التفاصيل الخاصّة بالأصناف المشتقة، ويصبح الإنشاء متعدد الأشكال Polymorphic ممكنا. ملحوظة: يشير مصطلح تعدّد الأشكال Polymorphism إلى القدرة على توفير صنف وحيد يعمل واجهةً لأصناف أخرى مختلفة. تستفيد الأصناف العميلة من الواجهة دون أن تعبأ بتفاصيل تنفيذ الأصناف (الفعلية) التي “تختبئ” وراءها. مثال يعرّف نمط تابع المعمل واجهة لإنشاء الكائنات، مع ترك مهمّة تحديد الأصناف الفعليّة التي ستُستهَل للأصناف المتفرّعة عن الواجهة. يُطبّق مصّنعو الألعاب البلاستيكية هذا النمط عند معالجة بودرة القوالب البلاستيكية. يُحقَن البلاستيك في قوالب الأشكال المرغوبة ثم يُحدَّد صنف اللعبة (سيارة مثلا) عن طريق القالب. قائمة التدقيق إن كان لديك هرمية توارث Inheritance hierarchy تمارس تعددية الأشكال، فكر في إضافة إمكانية الإنشاء متعدد الأشكال عن طريق تعريف تابع معمل ثابت Static في الصنف الأساسي. صمم معطيات Arguements تابع المعمل. ما هي النوعيات والخصائص الضرورية والكافية لتعريف الصنف المشتق الصحيح الذي سيُستهَل؟ فكر في تصميم مجمع كائنات Object Pool يسمح بإعادة استخدام الكائنات عوضا عن إنشائها من الصفر. فكر في جعل جميع التوابع المشيّدة خاصّة Private أو محميّة Protected. ترجمة - بتصرّف - للمقال Factory Method Design Pattern لأصحابه Alexander Shvets، Gerhard Frey وMarina Pavlova. حقوق الصورة البارزة محفوظة لـ Freepik
×
×
  • أضف...