سؤال

سؤال التصميم لاستخدام كائنات الأعمال كتشكيل BackBackBoBjects في فصل الربيع

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

لذلك نحن نمر كائن أعمالنا على الرغم من طريقة FormBackBoBject (طلب httpservletrequest). ومع ذلك، فقد نفد إلى لغز.

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

ما هو المطور القيام به؟ أشعر كما لو أن هذه هي مشكلة الدجاج / البيض الكلاسيكية.

تعتمد جميع كائن أعمالنا من الواجهات، إذا قمنا بإنشاء كعب يمثل كائن العمل، قم بتمرير كعب كعب كأنه formbackBoBject، ثم قم بتمرير كعب الروتين إلى المصنع أو إذا لم نمر أي شيء في FormBackSoBject ثم جمع المعلومات المقدمة يدويا من الطلب؟

أي أفكار / أنماط معقولة أخرى؟

شكرا لوقتك.

هل كانت مفيدة؟

المحلول

بالتأكيد لن أختر خيار عدم استخدام FormbackBoBject وجمع المعلومات يدويا - من شأنها أن تخلص من الكثير من القوة التي تجعل SPRING MVC جديرة بالاهتمام في المقام الأول.

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

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

نصائح أخرى

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

وبهذه الطريقة يمكنك التعامل مع التحقق من الصحة، وتقديم المستخدم غير المكتملة، وما إلى ذلك، دون لمس أو تعديل أي فئات منطق / قواعد / قواعد / قواعد تجارية موجودة. يتيح لك ذلك الاحتفاظ بطبقة الويب منفصلة عن هذه الطبقات الموجودة.

للرجوع اليها البرنامج التعليمي MVC., ، والتي تلامس التحقق من صحة وكائنات الأمر في الجزء 4..

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