سؤال

لا يتم تعليق رمز نموذج المستندات بعمق، لذلك سؤالي هو:

ماذا يعني هذا الخط؟

IDfQuery query = DfcUtils.getClientX().getQuery();
هل كانت مفيدة؟

المحلول

إجابة على سؤال قديم، لكن المشارك الأصلي طلب ما يعنيه الخط، وليس بدائل يمكن استخدامها.

يقوم الخط بإنشاء مثيل لتنفيذ Idfquery، من طريقة المصنع داخل مثيل كائن تم إنشاؤه بواسطة طريقة المصنع الثابتة داخل فئة DFCutils. ثم يتم تعيين هذا الكائن إلى متغير.

وبالتالي: -

  • dfcutils = فئة تحتوي على طريقة ثابتة تسمى GetClientX ()
  • GetClientX () = طريقة المصنع الثابتة التي ترجع مثيل كائن
  • GTERQUERY () = طريقة المصنع داخل الكائن الذي تم إرجاعه بواسطة GetClientX ()، الذي يرجع كائنا ينفذ Idfquery؛
  • الاستعلام = المتغير المستخدم للإشارة إلى مثيل iDfquery الجديد

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

في الأساس، قد يكون لديك طريقة مصنع تحتوي على شرط مثل بيان التبديل الذي يختار التنفيذ للعودة، ومعرفة IOC (انعكاس التحكم): -

public static IDfQuery getQuery(){
    IDfQuery returnValue;

    switch ( getDayOfWeek() ) {
        case "Monday" :  returnValue = new MondayQuery(); break;
        case "Tuesday" :  returnValue = new TuesdayQuery(); break;
        case "Wednesday" :  returnValue = new WednesdayQuery(); break;
        case "Thursday" :  returnValue = new ThursdayQuery(); break;
        case "Friday" :  returnValue = new FridayQuery(); break;
        case "Saturday" :  returnValue = new SaturdayQuery(); break;
        case "Sunday" :  returnValue = new SundayQuery(); break;
        default: returnValue = null; break;
    }

    return returnValue;
}

public static String getDayOfWeek(){
    return new SimpleDateFormat("EEEE").format( new Date() );
}

نصائح أخرى

يمكنك استبدالها بأمان في جافا

IDfQuery query = new DfQuery();

يأتي هذا النهج مع طريقة المصنع بأيام Docbasic القديمة التي حصلت على مقيدة بما يمكن أو لا تستطيع القيام به

يمكن للمرء استخدام

  IDfQuery query = new DfQuery();

نهج

دليل DFC الحالي، مهما توصي بوضوح باستخدام فئة المصنع COM.DoCumentum.com.dfclientx للحصول على مثيلات جديدة من الكائنات مثل DFQUERY بدلا من استدعاء المنشئ مباشرة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top