بالطبع أخي مفيد فهو لم يُنشأ لغير فائدة فمسألة تقسيم العمل إلى طبقات مفيدة جدا في فصل المهام وتسهيل تطويرها وتنقيحها وصيانتها وتقسيم العمل بين المطورين

ولا يشترط التقيد بالثلاث طبقات أو مستويات التي نشأت في البداية وهي طبقة العرض (واجهات المستخدم) أو طبقة منطق العمل وطبقة الولوج إلى المعطيات

فهذا هو النمط القياسي ولكن يمكن زيادة الطبقات كما نراه جيدا أو حسب طبيعة مشروعنا

ولو دققنا النظر سنجد أن بعض الأنماط تعتمد على الطبقات أو المستويات بتصنيف مختلف

فمثلا MVC و MVVM فهما نمط طبقي ونموذج برمجي بطبقات ولكن تصنيفها مختلف عن القياسي

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

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

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

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

النظام شبيه جدا بمبدأ الطلب Http Request الذي يصدر من العميل إلى السيرفر ثم يعود بالنتائج من خلال Http Responce

الخلاصة لا أتخيل عملي كيف سيكون شكله لولا اعتماد نظام الطبقات

سؤالك مبهم بعض الشيء، وقد اسهب الاخ عبد الرحمن.

رأيي ان النمط الطبقي القديم لم يكن حقيقي في الC#.NET الا بعد تطبيق الMVC

قبل تطبيق الMVC كنا نعتقد اننا نطبق نكتب برامج متعددة الطبقات، ولكننا كنا فعلاً نكتب اقرب ما يكون الى اكلة "المخلمة" العراقية. كل العناصر موجودة، ولكن السيطرة على مكانها شبه مستحيل.

شكراً اخ عبدالرحمن الان تبين لي اللبس الذي كنت واقع فيه.

سي شارب #C

مجتمع للمهتمين بلغة البرمجة سي شارب #C سيحوي مواضيع و روابط و تقنيات و أخبار و تلميحات و نصائح و مهارات و أي أمور أخرى تتعلق بهذه اللغة.

1.76 ألف متابع