تصف هذه المقالة طريقة تنفيذ نموذج المصنع لنمط تصميم Java. شاركه للرجوع إليه ، على النحو التالي:
يوفر نموذج المصنع بشكل أساسي واجهة انتقالية لإنشاء كائنات ، وذلك لدرع وعزل العملية المحددة لإنشاء كائنات ، وذلك لتحقيق الغرض من تحسين المرونة.
ينقسم نموذج المصنع إلى ثلاث فئات:
1) نموذج المصنع البسيط: لا يفضي إلى توليد سلسلة من المنتجات ؛
2) طريقة المصنع: المعروف أيضًا باسم المصنع متعدد الأشكال ؛
3) نموذج المصنع التجريدي: المعروف أيضًا باسم Toolbox ، ينتج أسر المنتجات ، ولكنه لا يفضي إلى توليد منتجات جديدة ؛
1. نموذج المصنع البسيط
يُعرف وضع المصنع البسيط أيضًا باسم وضع طريقة المصنع الثابت. من خلال إعادة تسمية ، يمكنك أن ترى أن هذا النمط يجب أن يكون بسيطًا للغاية. الغرض منه بسيط: تحديد واجهة لإنشاء كائنات.
في نموذج المصنع البسيط ، توجد فئة المصنع في مركز استدعاءات الاستئصال إلى فئة المنتج ، والتي تحدد فئة المنتج التي يجب إنشاء مثيل لها ، تمامًا كما يقف شرطي حركة المرور في تدفق المركبات ويقرر إطلاق السيارة في أي اتجاه للتدفق. دعونا نلقي نظرة على تكوينه:
1) دور المصنع: هذا هو جوهر هذا النموذج ، الذي يحتوي على بعض منطق الأعمال ومنطق الحكم. في Java غالبًا ما يتم تنفيذه بواسطة فئة ملموسة.
2) دور المنتج التجريدي: إنها عمومًا فئة من الوالدين ورثها منتج معين أو واجهة تم تنفيذها. تنفذها واجهات أو فئات مجردة في جافا.
3) دور المنتج المحدد: الكائن الذي أنشأته فئة المصنع هو مثيل لهذا الدور. تنفذها فئة ملموسة في جافا.
2. نموذج طريقة المصنع
نموذج طريقة المصنع هو التجريد والترويج لنموذج المصنع البسيط. في نموذج طريقة المصنع ، لم يعد يتم تحديده بواسطة فئة مصنع واحدة فقط يجب إنشاء فئة المنتج. يتم تسليم هذا القرار إلى الفئة الفرعية للمصنع التجريدي. دعونا نلقي نظرة على تكوينه:
1) دور المصنع التجريدي: هذا هو جوهر نمط طريقة المصنع ، لا علاقة له بالتطبيق. إنها واجهة يجب أن ينفذ دور مصنع معين أو فئة الوالدين التي يجب موروثة. في Java يتم تنفيذها بواسطة فصول أو واجهات مجردة.
2) دور المصنع المحدد: يحتوي على رمز يتعلق بمنطق الأعمال المحدد. استدعى التطبيق لإنشاء كائن المنتج المحدد المقابل.
3) دور المنتج التجريدي: إنها فئة الوالدين الموروثة بمنتج معين أو واجهة تم تنفيذها. في جافا ، هناك فصول أو واجهات مجردة بشكل عام لتنفيذها.
4) دور المنتج المحدد: الكائن الذي تم إنشاؤه بواسطة دور مصنع معين هو مثيل لهذا الدور. تنفذها فئات ملموسة في جافا.
يستخدم نمط طريقة المصنع فئات فرعية متعددة موروثة من دور المصنع التجريدي لاستبدال "فئة الله" في نمط المصنع البسيط. كما ذكر أعلاه ، سيشارك هذا الضغط على الكائن ؛ وهذا سيجعل الهيكل مرنًا - عندما يتم إنشاء منتج جديد (أي سيارة Nouveau Riche) ، طالما تم إنشاؤه وفقًا للعقد الذي يوفره دور المنتج التجريدي ودور المصنع التجريدي ، يمكن استخدامه من قبل العميل دون الحاجة إلى تعديل أي رمز موجود. يمكن ملاحظة أن هيكل دور المصنع يتوافق أيضًا مع مبدأ الفتح والإغلاق!
الرمز كما يلي:
// تجريدي دور المنتج العام متحرك {void run () ؛} // دور منتج محدد ينفذ طائرة الفئة العامة {Override public void run () {system.out.println ("Plane ....") ؛ }} تنفذ Bublic Class Broom {Override public void run () {system.out.println ("broom ......") ؛ }} // ملخص المصنع العام التجريدي class motterfactory {Abstract movable create () ؛} // Fecy Factory Public Class PlaneFactory يمتد motterfactory {public movable create () {return new plane () ؛ }} الفئة العامة BroomFactory يمتد motterfactory {public movable create () {return new broom () ؛ }} // اختبار الفئة العامة اختبار الفئة العامة {public static void main (string [] args) {motionfactory factory = new broomfactory () ؛ movable m = factory.create () ؛ M.Run () ؛ }}3. نمط المصنع التجريدي
الرمز كما يلي
. الأسلحة التجريدية العامة المجردة () ؛ Public Abstract Food CreateFood () ؛} // فئة المصنع الملموسة ، حيث يكون الطعام والسيارة والسلاح فئات مجردة ، يمتد الطبقة العامة DefaultFactory AbstractFactory {Override Public Food CreateFood () {return New Apple () ؛ } Override Public Morning CreateveHicle () {return new Car () ؛ } Override Public Weapon CreateWeapon () {return New Ak47 () ؛ }} // اختبار الفئة العامة اختبار الفئة العامة {public static void main (string [] args) {AbstractFactory f = new DefaultFactory () ؛ مركبة v = f.createvehicle () ؛ v.run () ؛ سلاح w = f.createwapon () ؛ W.Shoot () ؛ الطعام a = f.createfood () ؛ A.PrintName () ؛ }}في نمط المصنع التجريدي ، قد يكون المنتج التجريدي واحدًا أو أكثر ، وبالتالي تشكيل عائلة منتج أو أكثر. في حالة عائلة منتج واحد فقط ، يتحول نمط المصنع المجردة إلى نمط طريقة المصنع.
تلخيص:
(1) نمط المصنع البسيط هو إنشاء مثيلات من الفئات الأخرى بواسطة فئة محددة. فئة الوالدين هي نفسها والفئة الأم محددة.
(2) نمط طريقة المصنع هو أن هناك فئة الوالدين المجردة تحدد الواجهة العامة ، والفئة الفرعية مسؤولة عن توليد كائنات ملموسة. والغرض من هذا هو تأخير إنشاء الفصل إلى الفئة الفرعية.
(3) يوفر نمط المصنع التجريدي واجهة لإنشاء سلسلة من الكائنات ذات الصلة أو المترابطة دون تحديد فئاتها المحددة. إنه يستهدف الهياكل الهرمية مع منتجات متعددة. يهدف نموذج طريقة المصنع إلى بنية التسلسل الهرمي للمنتج.
لمزيد من المحتوى المتعلق بـ Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص Tips Java Operation DOM" ، "ملخص ملف Java ونصائح تشغيل الدليل" و "ملخص نصائح Java Cache Operation Tips"
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.