مفهوم نمط المصنع البسيط
إنه إنشاء فئة المصنع وإنشاء مثيلات من بعض الفئات التي تنفذ نفس الواجهة. إن جوهر نمط المصنع البسيط هو أن فئة المصنع تحدد ديناميكيًا أي مثيل فئة المنتج (يجب إنشاء فئات المنتج هذه من فئة أو واجهة أولياء أو واجهة) بناءً على المعلمات الواردة.
مخطط UML لوضع المصنع البسيط
رمز نمط المصنع البسيط
عندما كنت أتعلم نموذج المصنع البسيط ، استخدمت مثالًا يتعلق بالبشر. ينقسم البشر إلى رجال ونساء في العالم ، ويحدد أولاً واجهة مجردة للمنتجات البشرية.
/** * هذه هي حزمة نمط المصنع */package com.roc.factory ؛/** * واجهة تجريدية للمنتج البشري * @Author liaowp * */الواجهة العامة Human {public void say () ؛}ثم ، كل من الرجال والنساء لديهم طرق للتحدث.
/** * هذه هي حزمة نمط المصنع */package com.roc.factory ؛/** * man man * author liaowp * */public class man ينفذ Human {/ * say method * @com.roc.factory.human#say () */override public void say () }} /** * هذه هي حزمة نمط المصنع */package com.roc.factory ؛/** امرأة * Author liaowp * */public class المرأة تنفذ الإنسان {/say method * see com.roc.factory.human#say () */override public void say () }}أخيرًا ، اكتب فئة المصنع لإنشاء رجال ونساء. يتم تحقيق الطريقة الأولى باستخدام الحكم المنطقي.
package com.roc.factory ؛/** * مصنع بسيط * Author liaowp * */class public samplefactory {public static human makehuman (نوع السلسلة) {if (type.equals ("man")) {human man = new man () ؛ عودة الرجل } if if (type.equals ("womman")) {human woman = new woman () ؛ إرجاع المرأة } آخر {system.out.println ("لا يمكن إنتاج") ؛ العودة لاغية. }}}الطريقة الثانية هي استخدام إشعاع Java لتنفيذها. أعتقد أن هذا النوع من التنفيذ أفضل.
حزمة com.roc.factory ؛/** * تطبيق الإشعاع المصنع البسيط * Author liaowp * */public class samplefactory1 {public static human makehuman (class c) {human human = null ؛ حاول {human = (human) class.forname (c.getName ()). newInstance () ؛ } catch (instantiationException e) {// todo catch block system. E.PrintStackTrace () ؛ } catch (alfictalaccessexception e) {// todo catch catch e.printstacktrace () ؛ System.out.println ("لا توجد أذونات كافية ، أي أنه لا يمكن الوصول إلى الكائنات الخاصة") ؛ } catch (classnotfoundException e) {// todo catch catch system.out.println ("classnot موجود") ؛ E.PrintStackTrace () ؛ } إرجاع الإنسان ؛ }}أخيرًا ، رمز العميل
حزمة com.roc.factory ؛/** * اختبار المصنع البسيط * Author liaowp * */عميل الطبقة العامة {public static void main (string [] samplefactory.makehuman ("tttt") ؛ الإنسان = samplefactory1.makehuman (man.class) ؛ man.say () ؛ امرأة بشرية = عينة extory1.makehuman (woman.class) ؛ woman.say () ؛ }} سيناريو تطبيق وضع المصنع البسيط
المزايا: فئة المصنع هي مفتاح النموذج بأكمله. أنه يحتوي على أحكام منطقية ضرورية ويحدد كائن فئة محدد يجب إنشاؤه بناءً على المعلومات التي قدمها العالم الخارجي. باستخدام فئة المصنع ، يمكن للعالم الخارجي التخلص من الوضع المحرج المتمثل في إنشاء كائنات منتج محددة مباشرة ، ولا يلزم إلا أن يكون مسؤولاً عن كائنات "الاستهلاك". لا يهم كيفية إنشاء هذه الكائنات وتنظيمها. يتم توضيح مسؤولياتها وحقوقها ، والتي تفضي إلى تحسين بنية البرمجيات بأكملها.
العيوب: نظرًا لأن فئة المصنع تركز على منطق إنشاء جميع الحالات ، ينتهك مبدأ تخصيص المسؤولية المتماسكة العالية ، ويتركز كل منطق الخلق في فئة مصنع واحدة ؛ لا يمكن النظر في الفصول الدراسية إلا مسبقًا. إذا كانت هناك حاجة إلى إضافة فئة جديدة ، فيجب تغيير فئة المصنع. مع استمرار زيادة عدد فئات المنتجات المحددة في النظام ، قد يكون هناك شرط لفئات المصنع لإنشاء مثيلات مختلفة وفقًا لظروف مختلفة. يتداخل هذا الحكم على الشروط والحكم على أنواع المنتجات المحددة معًا ، مما يجعل من الصعب تجنب انتشار وظائف الوحدة النمطية ، وهو أمر غير مواتٍ للغاية لصيانة النظام وتوسيعه ؛
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.