بنية برمجية ذات ثلاث طبقات
ساهم بشكل رئيسي في تحرير هذا الموضوع |
البنية البرمجية ذات الثلاث طبقات (3-Layered Architecture ) هي أحد أبرز البنى المستخدمة في بناء البرمجيات التي تعتمد التصميم الغرضي التوجه
الطبقات التي تتكون منها
طبقة الوصول إلى المعطيات (Data Access Layer)
تكون هذه الطبقة مسؤولة عن الوصول والتحكم بمختلف مصادر المعطيات التي يستخدمها التطبيق على سبيل المثال لا الحصر قاعدة المعطيات الخاصة بالتطبيق.
طبقة منطق العمل (Business Logic Layer )
تعتبر هذه الطبقة الوسيط بين طبقة الوصول للمعطيات وطبقة العرض وهي الأهم على الإطلاق فهي نواة النظام وتتوضع فيها جميع الصفوف أوالأنظمة الجزيئة التي تمثل تدفق العمل ضمن النظام وتتعامل هذه الطبقة مع طبقة الوصول للمعطيات بحيث تأخذ منها وتعطيها المعطيات بمرونة تامة أثناء تدفق عمل النظام وباللقاء أيضا تتخاطب مع طبقة العرض التي سنتحدث عنها لاحقاً.
طبقة العرض (Presentation Layer)
تحوي جميع الصفوف المسؤولة عن التفاعل المباشر مع المستخدم النهائي للتطبيق لأخذ الدخل منه وعرض النتائج له تتخاطب فقط مع الطبقة الوسطى (طبقة منطق العمل).
فائدة البنية البرمجية ذات الثلاث طبقات
- تعتبر بينة الطبقات أكثر تنظيماً وأسهل صيانةً وأكثر قابليةً للتعديل فإن وقع تغير في أي طبقة فإن التعديلات في الطبقات الأخرى تكاد تكون معدومة وإن وجدت فهي أكثر أمانا وسهولة وتنظيم مثلاً في طبقة الوصول للمعطيات قد يرغب صاحب المنتج في أي لحظة تغير مزود قاعدة المعطيات وهذا يحتاج تغير في صفوف هذه الطبقة أوإضافة صفوف جديدة لهذه الطبقة باللقاء لنقد يكون هناك تعديلات كبيرة في طبقة منطق العمل لأنها فقط تهتم بخرج طبقة الوصول للمعطيات ولا تهتم كيف من الممكن أن تعمل أبداً ولا بنيتها الداخلية، وبالنسبة للتعديلات التي تطرأ في طبقة العرض قد لا تؤثر على طبقة منطق العمل حيث قد نضيف قابلات عرض جديدة دون أونعدل بعضها لنتخاطب مع نفس طبقة العمل. - تهتم جميع طبقة بدخل وخرج باقي الطبقات دون حتى تهتم بكيفية تأدية باقي الطبقات لوظائفها أوبنيتها الداخلية.
بنى برمجية مشابهة
من أبرز البنى البرمجية المشهورة التي تعتمد عليها التطبيقات البرمجية:
- البنية البرمجية ذات الثلاث طبقات 3-layered architectureوهي البنية التي يتكم عنها هذا الموضوع
- البنية البرمجية ذات الثلاث اطارات 3-tier architecture
- بنية Model-View-Controller
يوجد درجة معينة من التشابه بين هذه البنى بحيث كثيراً ما تسبب بعض الارباك للمبرمج وقد يطلق اسم إحداها على الأخرى وقد تجد بعض التطبيقات تستخدمها كلها في نفس الوقت.
وصلات مفيدة
MSDN:Three-Layered Services Application
مصادر
- ^ MSDN:3-Tier, 3-Layer, MVC: a Trio of Famous Trios