يوضح
1. يحل نمط المصنع كيفية إنشاء كائنات مثيلة دون استخدام كائنات جديدة.
2. هناك بعض الطرق لإنشاء أهداف أخرى غير الجديدة.
إذا كنت تريد تغيير نوع الكائن الذي تم إنشاؤه، فأنت بحاجة فقط إلى تغيير المصنع، وستتغير جميع التعليمات البرمجية التي تستخدم هذا المصنع تلقائيًا.
3. عادةً ما يستخدم التطبيق مع الواجهات، ولا يحتاج التطبيق إلى معرفة التفاصيل المحددة لهذه الفئات التي تم إنشاء مثيل لها.
إنه سهل الاستخدام طالما أنك تعلم أن المصنع يقوم بإرجاع فئة تدعم فئة واجهة معينة.
مثال
/** * خلاصة واجهة الشخص * واجهة الشخص */ واجهة الشخص { الوظيفة العامة showInfo(); } /** * فصل طلابي يرث من الواجهة البشرية المجردة * فصل طلابي */ طالب الفصل ينفذ الشخص { الوظيفة العامة showInfo() { صدى "هذا طالبn"; } } /** * فصل معلم يرث من الواجهة البشرية المجردة * معلم فصل */ مدرس الفصل ينفذ الشخص { الوظيفة العامة showInfo() { صدى "هذا مدرسn"; } } /** * مصنع الإنسان * مصنع الأشخاص من الدرجة */ فئة بيرسونفاكتوري { مصنع الوظائف الثابتة العامة ($person_type) { // تكبير الحرف الأول من النوع الذي تم تمريره $class_name = ucfirst($person_type); إذا (class_exists($class_name)){ إرجاع $class_name الجديد؛ }آخر{ رمي استثناء جديد ("الفئة: $class_name غير موجود"،1)؛ } } } // بحاجة إلى طالب $student = PersonFactory::factory('student'); صدى $student->showInfo(); // عندما تحتاج إلى معلم $teacher = PersonFactory::factory('teacher'); صدى $teacher->showInfo();
ما ورد أعلاه هو مقدمة لوضع المصنع PHP وآمل أن يكون مفيدًا للجميع.