Posted by: Ibrahim Ahmed | 2010/05/22

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. تم نقل الترجمة الى مدونتي التقنية
    http://ibrahimcsharp.blogspot.com

  2. شكرا لورد بريس :)

    الذي

    عرفني بمدونتك اللطيفة
    سأتابع ان شاء الله

    اخوك
    عبدالوهاب


اترك رد

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / تغيير )

Twitter picture

You are commenting using your Twitter account. Log Out / تغيير )

Facebook photo

You are commenting using your Facebook account. Log Out / تغيير )

Connecting to %s

التصنيفات

Follow

Get every new post delivered to your Inbox.