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

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

  •  03-07-2019
  •  | 
  •  

سؤال

سوف يكون التدريس في الدرجة سن, أريد أن أشرح ما هي العوامل التي ينبغي أن تؤثر على قرار من الوصول إلى البيانات التكنولوجيا.وأنا على دراية العديد من البيانات الوصول إلى طرق مثل كتابة مجموعات البيانات ، Linq to SQL, Linq إلى كيانات .netTiers, LLBLGen ، والعرف المكالمات مع اتصال SQL الأشياء و الكائنات الأوامر.بعض زبائني فقط تسمح الإجراءات المخزنة لاستخدامها ، وأنها لن نناقش أي شيء آخر.بعض من بلدي العملاء ليسوا على استعداد لتثبيت .NET framework 3.5 حتى الآن.بعض العملاء تتطلب الأوسط خدمة ويب الطبقة في أي تطبيق ويب.أكثر من مرة يمكنني استخدام أنواع مجموعات البيانات المخصصة لخدمات الويب أو استخدام .netTiers مع CodeSmith.ماذا يجب أن يكون التفكير ؟

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

المحلول

مثل مع كل خيار في برنامج المشروع :ذلك يعتمد...ولكن في رأيي أهم عامل هو بيئة المشروع.

هذا يتكون من (أنا لا أدعي أن هذه القائمة ليست كاملة في أي حال):

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

نأمل أن يكون هذا يساعدك.

نصائح أخرى

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

من المهم أن تنظر في:

  • ETL/كميات/الهجرة
  • التكامل الخارجي/التزامن (BizTalk/SSIS)
  • إعادة استخدامها من قبل التطبيقات الأخرى (لا سيما مواقع الويب والتطبيقات النقالة إلخ)
  • الأمن/سطح الهجوم (نهج واحد أقل أمانا من آخر؟)
  • مهام الصيانة
  • توافر - سوف قاعدة البيانات يكون في استخدام 24/7?هو نهج واحد ذاهب لتقديم أفضل توافر من الآخر ، إلخ.
  • أيضا, بعض النظر في التصميم هو في النظام.هل ضبط أسرع يختار ، أو أسرع يكتب ؟ واحد الوصول إلى البيانات تصميم أداء أفضل من الآخر.

    أنا لا أقول أن هناك واحد الرصاصة الفضية, ولكن ماذا أفعل الحذر هو أن أي الوصول إلى البيانات تصميم نمط يتطلب "الصورة الكبيرة" الفكر سوف تتناول اليوم الشواغل وما يمكن توقع معقول قد يكون غدا ؟

    كما سوف يتم توفير خارجي API أو بعض إطارا بيانات متسقة ؟ سوف يتعرض مباشرة أو غير مباشرة ؟

    هناك مكان على ما أعتقد ، سواء في إطار الكيان/LINQ to SQL التقليدية الإجراءات المخزنة وغيرها من الأدوات مثل NHibernate (إلخ) ، ولكن يجب أن تبرير و تبرير اختيار التكنولوجيا أولا و محاولة للتأكد من أنها مناسبة الاحتياجات الحالية والمستقبلية.

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

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

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

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

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

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