سؤال

إذا كان أحد يستخدم وظيفة AutoLoader (مع SPL_AUTOLOAD_REGISTER)، فهل يحتاج المرء بعد الآن:

  • singleton: سيتم تحميل جميع الفئات اللازمة بواسطة autoloader على أي حال، بما في ذلك قاعدة البيانات، السجلات، البحث والتطوير، الجبهات وما إلى ذلك، لذلك الحاجة إلى "دائما على" إلخ.
  • factory: مرة أخرى، سيتم تحميل AutoLoader الطبقة المطلوبة، فهل هناك نقطة لاستخدام فئة المصنع لفكر الفكرية فئات الأعماق الواجهة، أو تمديد فئة مجردة
هل كانت مفيدة؟

المحلول

يستخدم Singleton لعقد مثيل واحد لفئة معينة، بحيث يتم استرداد المثيل، سيكون دائما هو نفسه. لذلك، سوف تعني إعداد البيانات أن البيانات هي نفسها دائما عند استردادها.

هذا يختلف عن تحميل تلقائي فئة، حيث تقوم في كل مرة بإنشاء مثيل جديد قمت بإعادة تعيين الحالة إلى الفصل الافتراضي. ومع ذلك، يجب استخدام المفردات بشكل ضئيل، لأنهم يتمجدون المتغيرات العالمية المجيدة بشكل أساسي.

يجب استخدام نمط المصنع لتفويض تحديد وإنشاء الكائنات. يتم استخدامه عندما لا ترغب في تحديد فئة ملموسة، ولكن تتطلب فئة فرعية معينة تحت مجموعة من الشروط. لا يمكنك تمرير معلمات البناء إلى AutoLoader، وقد يطلب منك بعض المنطق المعقد للعمل الذي يجب إرجاع الكائن من المصنع، لذلك مرة أخرى لا يحقق نفس الشيء.

يجب استخدام autoloader للعثور على ملف فئة ويشمله. لا ينبغي (ولا أستطيع) القيام بأي منطق مثل إنشاء كائن أو اتخاذ القرارات حول أي كائن يحمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top