هل سيكون المستوى الثاني خيارًا صالحًا لهذا السيناريو

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

سؤال

هل سيكون المستوى الثاني خيارًا صالحًا لهذا السيناريو:

  1. قاعدة بيانات خادم SQL
  2. لن يتطلب العمل أبدا أكثر من بضع مئات من الاتصالات المتزامنة إلى قاعدة البيانات المشتركة عبر شبكة LAN
  3. حقيقة (أعتقد) أن تطوير المستوى الثاني يتطلب جهدًا أقل بكثير
    طلب
  4. تحديثات برنامج العميل تلقائية عبر الشبكة المحلية

لا يوجد حل صحيح

نصائح أخرى

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

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

هذا هو أحد تلك الأسئلة التي من المحتمل أن تحصل فيها على العديد من الآراء المختلفة والإجابات.

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

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

يبدو أن كلا الإجابتين تقولان تقريبًا أنه من غير المنطقي أن يكون المستوى الثالث هو الحل الأفضل.ربما

روكفورد لهوتكا يبدو أنه يجادل بأنه يجب عليك الذهاب مع 2-tier ما لم تكن فائدة التكلفة تحليل وضعك الخاص يأتي لصالح 3 طبقة.

هو يقول :

باعتبارك مهندسًا معماريًا جيدًا، يجب أن تنجذب إلى إضافة مستويات إلى نظامك.

ويشير إلى أن الأمن هو المجال الوحيد الذي يكون فيه الحل ثلاثي المستويات متفوقًا بشكل واضح.

وهو يجادل بذلك

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

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

منقول من كتاب تشارلز ويليامز قواعد البيانات الاحترافية فيجوال بيسك 6:-

2-الطبقة مقابل N-الطبقة

الاختيار بين طبقة 2 وطبقة n يبدو أن النماذج هي ما يحدث على الناس العقول.هناك الكثير من المتغيرات ل عامل في المعادلة (بما في ذلك تفضيل) أنه لا يمكن لكتاب واحد تحديد أفضل هيكل لك نموذج خادم العميل.بعض هذه يمكن أن تشمل المتغيرات:

المرونة والقوة التي يتمتع بها خادم قاعدة البيانات الذي اخترته.اليوم خوادم قواعد البيانات قادرة على التعامل مع مئات أو حتى الآلاف من اتصالات متزامنة دون التحرك إلى بنية من 3 طبقات.

قوة وتعدد استخدامات وحدة المعالجة المركزية التي تحتوي على الخادم.الأكثر قوة وحدة المعالجة المركزية كلما كان الخادم أسرع التعامل مع المهام المطلوبة.

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

العامل الاقتصادي.ما المبلغ الذي ترغب في إنفاقه على نظامك؟عادة ما يكلف نظام n-tier المزيد للتطوير والصيانة.إذا كنت يمكن الحصول عليها من خلال حل 2-tier لك يمكن أن يوفر قدرا كبيرا من المال.

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

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