بنية برمجية ذات ثلاث طبقات

سمر حامد
ساهم بشكل رئيسي في تحرير هذا المقال

البنية البرمجية ذات الثلاث طبقات (3-Layered Architecture ) هي أحد أهم البنى المستخدمة في بناء البرمجيات التي تعتمد التصميم الغرضي التوجه

الطبقات التي تتكون منها

طبقة الوصول إلى المعطيات (Data Access Layer)

تكون هذه الطبقة مسؤولة عن الوصول والتحكم بمختلف مصادر المعطيات التي يستخدمها التطبيق على سبيل المثال لا الحصر قاعدة المعطيات الخاصة بالتطبيق.

طبقة منطق العمل (Business Logic Layer )

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

طبقة العرض (Presentation Layer)

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

فائدة البنية البرمجية ذات الثلاث طبقات

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

بنى برمجية مشابهة

من أهم البنى البرمجية المشهورة التي تعتمد عليها التطبيقات البرمجية:

  1. البنية البرمجية ذات الثلاث طبقات 3-layered architectureوهي البنية التي يتكم عنها هذا المقال
  2. البنية البرمجية ذات الثلاث اطارات 3-tier architecture
  3. بنية Model-View-Controller

يوجد درجة معينة من التشابه بين هذه البنى بحيث كثيراً ما تسبب بعض الارباك للمبرمج وقد يطلق اسم إحداها على الأخرى [1] وقد تجد بعض التطبيقات تستخدمها كلها في نفس الوقت.

وصلات مفيدة

MSDN:Three-Layered Services Application

مصادر