جافا: نمط أسلوب تصميم المصنع | تصميم كائني التوجه | أنماط التصميم

نشرت: 2013-06-28

تصميم المصنع - أسلوب نمط التصميم الموجه للكائن

يعد نمط تصميم المصنع أحد أنماط التصميم الإبداعي ويستخدم على نطاق واسع في JDK بالإضافة إلى أطر مثل Spring MVC و Struts. نمط أسلوب المصنع هو نمط تصميم إبداعي موجه للكائنات لتنفيذ مفهوم المصانع ويتعامل مع مشكلة إنشاء كائنات (منتجات) دون تحديد فئة الكائن التي سيتم إنشاؤها بالضبط. يتمثل جوهر هذا النمط في " تحديد واجهة لإنشاء كائن ، ولكن دع الفئات التي تنفذ الواجهة تحدد الفئة التي سيتم إنشاء مثيل لها. يتيح أسلوب المصنع لفئة إرجاء إنشاء مثيل للفئات الفرعية ".

أنماط تصميم جافا

دعنا نتعلم أولاً كيفية تنفيذ نمط المصنع في جافا. سننشئ 5 فئات لتنفيذ هذا النمط.

  • سوبر كلاس (CrunchfiyCompany.java)
    • يمكن أن تكون الفئة الفائقة في نمط المصنع عبارة عن واجهة أو فئة مجردة أو فئة جافا عادية. على سبيل المثال ، لدينا فئة فائقة كفئة مجردة مع طريقة toString() التي تم تجاوزها لغرض الاختبار.
  • الفئة الفرعية 1 (CrunchifyEbay.java)
    • لاحظ أن الفصل يقوم بتوسيع فئة CrunchfiyCompany.
  • Sub Class2 (CrunchifyGoogle.java)
    • لاحظ أن الفصل يقوم بتوسيع فئة CrunchfiyCompany.
  • فئة المصنع (CrunchifyFactoryPattern.java)
    • الآن بعد أن أصبح لدينا فئات فائقة وفئات فرعية جاهزة ، يمكننا كتابة فئة المصنع.
    • يمكننا الاحتفاظ بفئة المصنع Singleton أو يمكننا الحفاظ على الطريقة التي تُرجع الفئة الفرعية ثابتة.
    • لاحظ أنه بناءً على معلمة الإدخال ، يتم إنشاء وإرجاع فئة فرعية مختلفة.
  • فئة الاختبار (CrunchifyFactoryPatternTest.java)
    • برنامج عميل اختبار بسيط يستخدم تطبيق نمط المصنع أعلاه.

يجب أن يقرأ الآخر:

  • Thread-Safe وتنفيذ فردي سريع في Java
  • ما هو خيط الشيطان في جافا؟ مثال مرفق

أمثلة أخرى باستخدام نمط المصنع؟

  • تستخدم طرق java.util.Calendar و ResourceBundle و NumberFormat getInstance() نمط المصنع.
  • طريقة valueOf() في فئات مجمعة مثل Boolean و Integer وما إلى ذلك.

فوائد نمط المصنع:

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

عيوب:

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

قائمة بجميع برامج تطوير الويب Java ، دروس Spring MVC.