سؤال

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

سيكون التطبيق موقع ويب قائم على Intranet باستخدام Windows Authentication ، يعمل على IIS واستخدام ASP.NET. يجب تنظيمها كتطبيق ويب رئيسي مع تطبيقات web الفرعية. في الأساس ، يكون النطاق بأكمله عبارة عن تطبيق مركب يعتمد على المستعرض ، ويتكون من وحدات منفصلة أو كاملة وظيفيًا.

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

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

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

آمل أن يكون كل هذا منطقيًا.

على أي حال ، أتساءل عن أي تقنيات/أطر عمل موجودة مسبقًا ستعمل بشكل أفضل على تعليم وتطوير نظام مثل هذا.

هل سيكون مصنع برامج عميل الويب خيارًا جيدًا؟ هل سيكون بعض حل MVP آخر اختيارًا جيدًا؟ هل سيكون ASP.NET MVC خيارًا جيدًا؟ شيء آخر؟؟؟؟ لن يكون أي من هؤلاء خيارًا جيدًا ويجب علينا فقط تطوير كل شيء من الألف إلى الياء باستخدام نماذج الويب؟ أي معلومات أخرى يجب أن أعرف عنها؟

شكرًا!!!!

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

المحلول

ASP.NET MVC2 يسهل أيضًا استخدام المناطق. هنا رابط قد يكون مفيدًا

http://odetocode.com/blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-proutes.aspx

في الأساس ، يمكنك استخدام المناطق لكسر "الخلفات" الخاصة بك

نصائح أخرى

قبل مناقشة الأطر ، بعض النقاط التي يجب مراعاتها عند بناء مثل هذا النظام (حيث يمكن توصيل التطبيقات الفرعية):

  • نقاط التكامل المحتملة (البيانات ، الخدمات ، منطق الأعمال ، واجهة المستخدم)
  • المخاوف المتقاطعة (تسجيل النظام ، تسجيل التدقيق ، التكوين ، الأمان)
  • من سيقوم بتطوير التطبيقات الفرعية (أنت ، الأشخاص الذين يعملون في مكتبك ، أو أي شخص / مجتمع أكبر)

أعتقد أنه قبل القفز وبناء إطار (أو اختيار إطار موجود) ، تحتاج إلى التراجع والتفكير من خلال هذه الجوانب أولاً.

فيما يتعلق بأدوات المزارع: ستجد العديد من الأطر ولكن قلة قليلة تقدم النطاق الكامل لما أنت بعد:

  • ASP.NET WebForms هي في الأساس قطعة أرض شاغرة تمامًا - سيتعين عليك بناء معظم الأشياء بنفسك ، أو إحضار أطر إضافية (مثل مكتبات MS Enterprise)
  • Asp.net MVC هو نفس الشيء بشكل فعال ولكن بأسلوب مختلف.

لا يوجد أي من هذه الأطر "أطر" ولكن يمكنك استخدام أي من هذه الأشياء "منصة" ذات المستوى المنخفض.

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

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

أحد الخيارات التي يمكنك التفكير فيها (وأنا أتفجر بوقتي هنا - لذلك أنا لست محيطًا) هو إطار تطبيق Open Source .NET الذي قمت بإنشائه ('مورففوليالقد استغرق الأمر مني حوالي 5 سنوات ، بدوام جزئي). حتى إذا لم تستخدمه ، فقد تجد بعض الأفكار أو الكود الجيد الذي يمكنك "سرقةه":

مورففوليا:

إنه متاح للتنزيل على http://morphfolia.codeplex.com/

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