سؤال

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

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

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

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

المحلول

وبالنسبة لي، والطبقة المادية تعني جزءا من النظام، <م> تصميم ليتم تشغيلها على الجهاز المادية المختلفة. نعم، يمكنك الإشارة سلسلة الاتصال ديسيبل لخادم آخر في أي وقت، ولكن إذا DAL الخاص بك هو الشطي جدا، لديها ن + 1 والمشاكل مجموعة سجلات غير محدود، من الكمون الشبكة سوف يقتلك بسرعة.

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

نصائح أخرى

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

وكمثال على ذلك لقد كانت لدينا ما يمكن أن أسميه نظام 3 طبقات (ديسيبل، دلل، وصفحات ASP) التي تعمل على خادم واحد. من قبل بعض التعاريف هذا هو نظام الطبقة واحد. لدينا الآن قاعدة البيانات التي تعمل على خادم منفصل، كان التغيير الوحيد المطلوب سلسلة اتصال ولكن الآن هذا سيكون حلا مستويين؟

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

<اقتباس فقرة>   

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

المرجع .

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

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

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

ولكن التفكير جيدا بعد قراءة ردود أخرى وأنا أتفق مع غاري على أن .

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

.

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

وهكذا، ومتابعة السؤال / تعليق. إذا كان هناك حفنة من منطق (عمل أو غير ذلك) في الإجراءات المخزنة في قاعدة البيانات الخاصة بك، يجب أن ينظر الطبقة كذلك؟ ماذا لو كنت تستخدم ميزات محرك قاعدة البيانات الخاصة بك مثل خدمة وسيط ل Microsoft SQL Server؟ التي يمكن أن ينظر إليها على أنها مستويين نفسها.

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

ونظرة على التاريخ لمصطلح "الطبقة" في مجال الحوسبة. وقال لا أحد الحوسبة 1-الطبقة على سطح المكتب / الثياب / كبيرة. وقال لا أحد الحوسبة 2-الطبقة خلال الأيام خدمة العملاء. أصبحت 3-الطبقة لقب المعماري لخدمة العملاء بالإضافة إلى الوسيطة بين (الوسيطة الموجهة رسالة وسطاء الصفقة). أعتقد أن شعبية ن الطبقة جنبا إلى جنب مع مصطلح آخر "EAI - أو المؤسسة العمارة التكامل". لقد كان بالضبط نفس الفكرة كما أبنية الخدمية، باستثناء معظم تطبيقات بائع إما الملكية، المستندة إلى المعايير ولكنها مكلفة جدا، أو كليهما. بعد XML-RPC، والصابون، والبقية تأتي جنبا إلى جنب يسمونه "خدمات ويب"، ومن ثم تطبيق مبدأ EAI وراء ذلك والخروج إلى SOA - العمارة الخدمية والمشاريع خدمة الحافلات.

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

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