Latest web development tutorials

اغيا طراز كائن

نموذج فارغ الكائن (خالية كائن نمط)، وكائن فارغ استبداله الاختيار على سبيل المثال الكائن فارغة. كائنات فارغة لم يتم التحقق من القيم الخالية، ولكن ليس رد فعل على علاقة من أي عمل. ويمكن لهذه الأشياء خالية أيضا توفير السلوك الافتراضي عندما لا تتوفر بيانات.

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

تحقيق

سوف نقوم بإنشاء إجراء مخصص (في هذه الحالة، اسم العميل)AbstractCustomerفئة مجردة، وتمتد الطبقات كيان الطبقةAbstractCustomer.CustomerFactory اسم الفئة المصنع على أساس العملاء لتقديم أو إرجاع كائنRealCustomerNullCustomer.

NullPatternDemo،ونحن لشرح استخدام الطبقةCustomerFactoryللتدليل على استخدام نموذج كائن فارغ.

نمط كائن باطل UML الرسم البياني

خطوة 1

إنشاء فئة مجردة.

AbstractCustomer.java

فئة مجردة العامة AbstractCustomer {
   اسم سلسلة المحمية؛
   الجمهور isNil منطقية مجردة ()؛
   العام سلسلة getName المجرد ()؛
}

خطوة 2

إنشاء تمتد الطبقات كيان فوق الطبقة.

RealCustomer.java

الطبقة العامة RealCustomer يمتد AbstractCustomer {

   RealCustomer الجمهور (اسم سلسلة) {
      this.name = الاسم؛		
   }
   
   Override
   جمهور سلسلة getName () {
      العودة الاسم؛
   }
   
   Override
   isNil منطقية الجمهور () {
      عودة كاذبة.
   }
}

NullCustomer.java

الطبقة العامة NullCustomer يمتد AbstractCustomer {

   Override
   جمهور سلسلة getName () {
      العودة "غير متوفر في قاعدة بيانات العملاء".
   }

   Override
   isNil منطقية الجمهور () {
      العودة الحقيقية.
   }
}

خطوة 3

إنشاء فئةCustomerFactory.

CustomerFactory.java

الطبقة العامة CustomerFactory {
	
   سلسلة النهائي ثابتة العامة [] أسماء = { "روب"، "جو"، "جولي"}؛

   ساكنة العام AbstractCustomer getCustomer (اسم سلسلة) {
      ل(كثافة العمليات ط = 0؛ ط <names.length، وأنا ++) {
         إذا (أسماء [أنا] .equalsIgnoreCase (اسم)) {
            العودة RealCustomer الجديد (اسم)؛
         }
      }
      العودة NullCustomer الجديدة ()؛
   }
}

خطوة 4

استخدامCustomerFactory،استنادا إلى اسم العميل لتمريرها إلى الحصول علىRealCustomerأوNullCustomerالكائن.

NullPatternDemo.java

الطبقة العامة NullPatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {

      AbstractCustomer customer1 = CustomerFactory.getCustomer ( "روب")؛
      AbstractCustomer customer2 = CustomerFactory.getCustomer ( "بوب")؛
      AbstractCustomer customer3 = CustomerFactory.getCustomer ( "جولي")؛
      AbstractCustomer customer4 = CustomerFactory.getCustomer ( "لورا")؛

      System.out.println ( "العملاء")؛
      System.out.println (customer1.getName ())؛
      System.out.println (customer2.getName ())؛
      System.out.println (customer3.getName ())؛
      System.out.println (customer4.getName ())؛
   }
}

خطوة 5

تحقق من الانتاج.

الزبائن
سلب
غير متوفر في قاعدة بيانات العملاء
جولي
غير متوفر في قاعدة بيانات العملاء