وضع المصنع البسيط
الرسم البياني الفئة
قم بإنشاء كائنات مقابلة مع حالة من خلال فئة المصنع
// وظائف الأعمال الواجهة العامة icalculation {double getResult (double numa ، double numb) ؛ } calcadd من الفئة العامة تنفذ icalculation {Override public double getResult (double numa ، double numb) {system.out.println ("add") ؛ إرجاع Numa + Numb ؛ }} الفئة العامة calcsubrict تنفذ icalculation {Override public double getResult (double numa ، double numb) {system.out.println ("subtraction") ؛ إرجاع Numa - Numb ؛ }}/** يركز وضع المصنع البسيط على: إنشاء الكائن* إنشاء فئة مصنع لإنشاء مثيلات من بعض الفئات التي تنفذ نفس الواجهة أو لها علاقات الميراث*/اختبار الفئة العامة 4Simple {public static void main (string [] args) {// string = "/" ؛ سلسلة التشغيل = "+" ؛ // string operation = "-" ؛ // string operation = "*" ؛ مزدوج Numa = 182 ، خدر = 33 ؛ icalculation createCalc = calcsimplefactory.createcalc (التشغيل) ؛ نتيجة مزدوجة = createCalc.getResult (Numa ، Numb) ؛ System.out.println (نتيجة) ؛ }} عيوب المصنع البسيط: عندما ينشئ مصنع بسيط منتجًا ، فمن الضروري تمرير المعلمات المقابلة. إذا كان الممر غير صحيح ، فلا يمكن استرداد الكائن.
التحسين: إنشاء فئات منتجات مختلفة بطرق متعددة
الطبقة العامة calcmultiplefactory {propergulculation alculation public alculation () {return new calcadd () ؛ } icalculation static static productubertive () {return new calcsubtract () ؛ } productipultiply static productiply () {return new calcmultiply () ؛ } icalculation static producedivide () {return new calcdivide () ؛ }} الفئة العامة test4multiple {public static void main (string [] args) {double numa = 182 ، numb = 33 ؛ icalculation createCalc = calcmultiplefactory.produceadd () ؛ نتيجة مزدوجة = createCalc.getResult (Numa ، Numb) ؛ System.out.println (نتيجة) ؛ CreateCalc = calcmultiplefactory.producesubtract () ؛ النتيجة = createCalc.getResult (numa ، numb) ؛ System.out.println (نتيجة) ؛ CreateCalc = calcmultiplefactory.producesubtract () ؛ النتيجة = createCalc.getResult (numa ، numb) ؛ System.out.println (نتيجة) ؛ CreateCalc = calcmultiplefactory.producemultiply () ؛ النتيجة = createCalc.getResult (numa ، numb) ؛ System.out.println (نتيجة) ؛ CreateCalc = calcmultiplefactory.progedivide () ؛ النتيجة = createCalc.getResult (numa ، numb) ؛ System.out.println (نتيجة) ؛ }} نمط المصنع التجريدي
هناك العديد من المفاهيم في تكنولوجيا المعلومات: مصنع مجردة ، مصنع مادي ، منتج مجردة ، منتج مجردة للمنتج المادي: تحديد الطريقة المجردة لإنشاء المنتجات. مصنع الكيان: منتج محدد للمنتج المنتج: واجهة أو منتج كيان فئة أساسية: تنفيذ وظائف محددة ، أو مخططات فئة مشتقة
// Abstract Product1 interface public iproduct1 {public void show () ؛ }. } // intity Product1 Public Class Product1 ينفذ iProduct1 {public void show () {system.out.println ("تم إنشاء نوع 1 منتج 1") ؛ }} // intity product2 public class product2 تنفذ iProduct2 {public void show () {system.out.println ("تم إنشاء نوع 2 منتج 2") ؛ }} / * * 1A 1B ينتمي إلى Product1 في نفس بنية التسلسل الهرمي للمنتج * 2A 2B ينتمي إلى Product2 * / class gradeproduct1a يمتد Product1 {Override public void show () {super.show () ؛ System.out.println ("هذا هو قيد المنتج 1: المنتج A") ؛ }} الفئة العامة gradeproduct1b يمتد Product1 {Override public void show () {super.show () ؛ System.out.println ("هذا ضمن المنتج 1: المنتج B") ؛ }} الفئة العامة gradeproduct1b يمتد Product1 {Override public void show () {super.show () ؛ System.out.println ("هذا ضمن المنتج 1: المنتج B") ؛ }} الفئة العامة gradeproduct2a يمتد Product2 {Override public void show () {super.show () ؛ System.out.println ("هذا هو قيد المنتج 2: المنتج A") ؛ }} الفئة العامة gradeproduct2b يمتد Product2 {Override public void show () {super.show () ؛ System.out.println ("هذا هو قيد المنتج 2: المنتج B") ؛ }} // المصنع الملخص ينشئ منتجات مجردة مختلفة واجهة عامة ifactory {public iProduct1 createProduct1a () ؛ // class 1 نموذج منتج Aproduct1 createProduct1b () // Class 1 Product Factory ينشئ منتجات مادية ، فإن نوع الإرجاع هو المنتج التجريدي للطبقة العامة ، يطبق مصنع Ifactory {public iProduct1 createProduct1a () {return new GradeProduct1a () ؛ } public iProduct1 createProduct1b () {return new gradeproduct1b () ؛ } public iProduct2 createProduct2a () {return new gradeproduct2a () ؛ } public iProduct2 CreateProduct2b () {return new GradeProduct2b () ؛ }} /** نمط المصنع التجريدي: يستخدم لإنشاء مجموعة من الكائنات ذات الصلة أو المترابطة** العملية: المصنع التجريدي ، المصنع المادي ينتج منتجات* منتج مجردة ، يدرك المنتج المادي وظائف المنتج* العيوب: عندما تحتاج إلى إضافة منتج (متكون من مجردة) ، يحتاج المصنع إلى تغيير* / اختبار الفئة العامة {public static void (] iProduct1 product1a = factory.createproduct1a () ؛ Product1a.show () ؛ iProduct1 product1b = factory.createproduct1b () ؛ Product1b.show () ؛ iProduct2 product2a = factory.createproduct2a () ؛ product2a.show () ؛ iProduct2 product2b = factory.createproduct2b () ؛ Product2b.show () ؛ }}