بحث هذه المدونة الإلكترونية

الأحد، 23 مايو 2010

Design Patterns





السلام عليكم ورحمة الله وبركاته

تلخيص وشرح من كتاب OReilly.C.Sharp.3.0.Design.Patterns
نبدا باسم الله :
انماط التصميم Design Patterns
الأنماط هي تصميم حلول لمشاكل البرمجيات تجدها مرارا وتكرارا في تطوير التطبيقات في العالم الحقيقي. وحول أنماط التصميم والتفاعل بين الكائنات ، وكذلك توفير منصة اتصالات ممتازة، والحلول القابلة لإعادة الاستخدام للمشاكل التي تواجهه المبرمج.
وتنقسم الانماط الى ثلاث مجموعات هي الهيكليه والانشائية والسلوكية (structural, creational, and behavioral)
نبدأ جولتنا من أنماط التصميم مع مجموعة تعرف باسم الانماط الهيكلية. وهناك سبعة أنماط التي تشكل المجموعة الهيكلية ، ولكل منها دور من مرونة ، وطول عمر ، وأمن البرامج وهم
• ديكور Decorator
• وكيل Proxy
• جسر Bridge
• المعقد Composite
• وزن الذبابة Flyweight
• محول Adapter
• الواجهات Façade
النمط الهيكلي نمط مقلق ومهم لانه يتكون من طبقات والكائنات التي تشكل هيكل اكبر
ومن الأغراض الكثيرة لهؤلاء الانماط السبعة 10 أغراض على سبيل المثال:
• إضافة وظائف جديدة بشكل حيوي على الكائنات الموجودة ، أو إزالتها (للديكور) Decorator
• التحكم في الوصول إلى كائن (وكيل) Proxy
• إنشاء كائنات مكلفة على حسب الطلب (وكيل) Proxy
• تمكين المطورين في الواجهات وتطوير المكونات من العمل باستقلالية (جسر) Bridge
• مطابقة او ملائمة الاجزاء الغير متلائمة لكي تعمل معاَ (محول) Adapter
• تقسيم البرنامج لاجزاء صغيرة جدا لتقليل التكلفة (وزن الذبابة) Flyweight
• إعادة تنظيم البرنامج الى العديد من البرامج الفرعية في طبقات مع جعل البداية لهذه النظم الفرعية واحدة (الواجهة) Façade
• حدد أو التبديل المحتوى في وقت التشغيل (جسر) Bridge
• تبسيط واجهة للنظام المعقد (الواجهة) Façade
• تعامل مع الكائنات البسيطة او المعقدة بنفس الطريقة (المجمع) Composite
ويمكن استخدام الأنماط الإنشائية في اثناء تصميم النظام ، أو في وقت لاحق خلال الصيانة و بعض منهم على وجه التحديد مفيدة في مراحل ما بعد الإنتاج من دورة حياة نظام البرمجيات ،عندما يتم إدخال تغييرات لم تكن متوقعة ، وعندما نقوم بتحديث الواجهات وهكذا ، وأحيانا عندما تريد إضافة وظيفة ، هل سيكون العمل مع الكلاسات الموجودة التي لا يمكن تغييرها!!؟ فإن نمط الديكور مفيد هنا وإلا ستضطر الى تصميم نظام كامل من الصفر بحيث يعمل بطريقة قابلة للاستخدام بشكل آخر

في تصفحك لأنماط التصميم الهيكلي structural والتي تمتد ثلاثة فصول. في هذا
الفصل ، سوف ننظر إلى ديكور Decorator ، وكيل Proxy ، وأنماط جسر. Bridge وفي الفصل الثالث، سنقوم بالتعرض النمط المركب Composite وأنماط وزن الذبابة Flyweight ، والفصل الرابع ، سنقوم بدراسة نمط المحول Adapter و أنماط الواجهة Façade

أول ثلاثة أنماط هي لإضافة الحالات والسلوك بشكل اوتوماتيك، والتحكم بالإنشاء والوصول للكائنات objects ، وجعل مواصفات و كتابة كود البرنامج منفصلين. انها لا تستخدم أية ميزة متقدمة من C# ، هي تعتمد فقط على ال واجهات interfaces للتنظيم ، ولكن في نهاية هذا الفصل ، سوف نعرض الطرق الإرشادية بطريقة شيقة لتنفيذ نمط الجسر Bridge
سنقوم بالنظر في وظيفة كل نمط ، وسوف نوضح كيف يمكن استخدامها في البرمجة والتصميم (ما هي الجهات الفاعلة الرئيسية وما هو الدور الذي تلعبه في هذا النمط) وسوف نعرض بعض الاكواد البسيطة لتوضح تنفيذ نمط (pattern) ثم نعرض مثالا اخر اكثر واقعية وناخذ بعض التمارين التي يمكنك من خلال العمل على تعزيز التفاهم الخاص بهذا النمط ، سوف نناقش بالتفصيل الحالات التي يمكن أن تستخدم فيها الأنماط الفردية.
وسوف نقوم ان شاء الله تباعا بشرح وافي ومستفيض لكل باترن

هناك تعليق واحد:

  1. بارك الله فيك على طرحك لهذا الموضوع الجميل

    ردحذف