ما هي مزايا وعيوب الدورة الواجهة الأساسية J2EE النمط ؟

StackOverflow https://stackoverflow.com/questions/88833

سؤال

ما هي مزايا وعيوب الدورة الواجهة الأساسية J2EE النمط ؟

ما هي الافتراضات وراء ذلك ؟

هل هذه الافتراضات صحيحة في بيئة معينة?

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

المحلول

الدورة واجهة رائعة نمط -- هو حقا إصدار محدد من الواجهة التجارية نمط.الفكرة هي ربط وظائف الأعمال في حزم منفصلة مثل TransferMoney(), سحب () الودائع()...حيث أن واجهة المستخدم الخاصة بك رمز الوصول إلى الأشياء من حيث العمليات التجارية بدلا من انخفاض مستوى الوصول إلى البيانات أو غيرها من التفاصيل التي لا ينبغي لها أن تكون المعنية.

على وجه التحديد مع الدورة واجهة - استخدام الدورة EJB بمثابة الواجهة التجارية - التي هي لطيفة تسبب ثم يمكنك الاستفادة من جميع J2EE الخدمات (مصادقة/تصريح المعاملات ، الخ)...

على أمل أن يساعد...

نصائح أخرى

والميزة الرئيسية لهذه الدورة الواجهة النمط هو أنه يمكنك تقسيم حتى J2EE التطبيق في مجموعات منطقية من وظائف الأعمال.جلسة الواجهة سوف يطلق من قبل POJO من واجهة المستخدم (أيعمل مندوب) ، وقد المراجع المناسبة كائنات الوصول إلى البيانات.E. g.أ PersonSessionFacade أن يسمى من قبل PersonBusinessDelegate ثم يمكن أن نسميه PersonDAO.الطرق على PersonSessionFacade ، على الأقل ، اتبع الخام نمط (إنشاء واسترجاع وتعديل وحذف).

عادة معظم الدورة واجهات يتم تنفيذها عديمي الجنسية الدورة EJBs.أو إذا كنت في الربيع الأراضي باستخدام اوب المعاملات ، يمكنك إنشاء خدمة POJO التي يمكن أن تكون جميع الانضمام إلى النقاط الخاص بك إدارة المعاملات.

ميزة أخرى من SessionFacade النمط أن أي J2EE المطور مع القليل من الخبرة سوف تفهم على الفور لك.

مساوئ SessionFacade نمط:فإنه يفترض محددة المشاريع المعمارية التي تحد حدود J2EE 1.4 مواصفات (انظر قضيب جونسون كتب هذه الانتقادات).الأكثر ضررا العيب هو أن الأمر معقد أكثر من اللازم.في معظم الشركات ويب التطبيقات, سوف تحتاج إلى حاوية بريمج و الأكثر من التوتر في تطبيق ويب سوف تكون في المستوى الذي يعالج HttpRequests أو الوصول إلى قاعدة البيانات.وبالتالي فإنه لا يبدو من المفيد نشر بريمج الحاويات في عملية منفصلة مساحة من EJB الحاوية.أولا-هاء.البعيد يدعو إلى EJBs خلق المزيد من الألم من الربح.

قضيب جونسون يدعي أن السبب الرئيسي كنت تريد استخدام دورة الواجهة إذا كنت تفعل حاوية تمكنت المعاملات - التي ليست ضرورية مع المزيد من الأطر الحديثة (مثل الربيع.)

يقول أنه إذا كان لديك منطق الأعمال - وضعه في POJO.(وأنا أتفق مع - أعتقد أكثر وجوه المنحى النهج - بدلا من تنفيذ الدورة EJB.) http://forum.springframework.org/showthread.php?t=18155

سعيد لسماع الحجج المتناقضة.

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

على افتراض (أ) نحن نريد استخدام الحاويات تمكنت المعاملات بالمعنى الدقيق للكلمة خلال EJB مواصفات ثم

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

على افتراض (ب) التي تعني المعمارية العامة مفهوم الدورة الواجهة - ثم

فصل الخدمات والمستهلكين وتوفير واجهة ودية على أعلى من هذا هو فكرة جيدة.علوم الكمبيوتر قد حل الكثير من المشاكل قبل إضافة طبقة إضافية من المراوغة'.

قضيب جونسون يكتب "SLSBs مع البعيد واجهات توفير حل جيد جدا بالنسبة التطبيقات الموزعة التي بنيت على مدى RMI.إلا أن هذه الأقلية شرط.وقد أظهرت التجربة أن لا ترغب في استخدام توزيع العمارة إلا إذا أجبر على المتطلبات.لا يزال بوسعنا أن خدمة للعملاء عن بعد إذا لزم الأمر من خلال تنفيذ واجهة الاتصال عن بعد على رأس جيدة ويتواجد في نموذج كائن." (جونسون ، R "J2EE التنمية دون EJB" p119.)

على افتراض (ج) أن تنظر في EJB مواصفات (وخاصة الدورة الواجهة مكون) أن آفة على المناظر الطبيعية التصميم الجيد ثم:

قضيب جونسون يكتب "في عام ، ليس هناك الكثير من الأسباب التي قد تستخدم المحلي SLSB في الربيع التطبيق ، كما الربيع يوفر أكثر قدرة على التعريفي إدارة المعاملات من EJB ، CMT عادة الدافع الرئيسي لاستخدام المحلية SLSBs.لذلك قد لا تحتاج ال EJB طبقة على الإطلاق." http://forum.springframework.org/showthread.php?t=18155

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

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