نماذج التصميم (هندسة البرمجيات): الفرق بين النسختين

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
تعديل جدول النماذج الانشائية
إضافة جدول نماذج التصميم الهيكلية
سطر 100:
|}
 
=== [[نماذج التصميم الهيكلية]] ===
{| class="wikitable"
!الاسم
!الوصف
!في نماذج التصميم
!في مرحلة اكتمال الرماز المصدري
!غير ذلك
|-
|[[Adapter pattern|Adapter]]
|يحول واجهة صف معين من شكل الى اخر بحيث يمكن لواجهة اخرى التعامل معها.
|نعم
|نعم
|لا يوجد
|-
|[[نموذج التصميم جسر|Bridge]]
|يقوم بفصل التجريد عن التنفيذ بشكل يسمع للاثنين بالاختلاف بشكل مستقل.
|نعم
|نعم
|لا يوجد
|-
|[[Composite Pattern|Composite]]
|يركب الاغراض بشكل شجرة بحيث كل ترث الاغراض من بعضها فيسمح للزبون بالتعامل مع غرض واحد (الشجرة) مؤلف من عدة أغراض
|نعم
|نعم
|لا يوجد
|-
|[[نموذج التصميم ديكور|Decorator]]
|يضيف فعالية جديدة لغرض معين بشكل ديناميكي اثناء التنفيذ، اي دون تعديل الغرض الاساسي. ويبقي على الواجهة الخاصة بهذا الغرض كما هي.
|نعم
|نعم
|لا يوجد
|-
|[[Extension object]]
|يضيف فعالية الى الوراثة من دون تعديل هذه الوراثة
|لا
|لا
|[[تطوير البرمجيات السريع (اجايل)]]
|-
|[[Facade (software engineering)|Facade]]
|يوفر واجهة موحدة لمجموعة واجهات في نظام فرعي ويؤمن واجهة من مستوى اعلى تجعل التعامل مع النظام الفرعي اسهل.
|نعم
|نعم
|لا يوجد
|-
|[[نموذج التصميم وزن الذبابة|Flyweight]]
|يستخدم المشاركة لدعم عدد كبير من الاغراض المتشابهة بشكل فعال.
|نعم
|لا
|لا يوجد
|-
|[[Front controller (software engineering)|Front controller]]
|هذا النموذج خاص بتصميم [[تطبيقات الويب]]. يوفر نقطة ولوج مركزية للتعامل مع الطلبات.
|لا
|نعم
|غير موجود
|-
|[[Marker (software engineering)|Marker]]
|هو عبارة عن واجهة فارغة تربط المعلومات مع الصف.
|لا
|لا
|[[Joshua Bloch|Effective Java]]
|-
|[[Module (software engineering)|Module]]
|يجمع عدة عناصر مرتبطة كالصفوف، والصفوف المفردة، و الطرق، والتي تستخدم بشكل واسع عن طريق نقطة ولوج واحدة مبدئية.
|لا
|لا
|لا يوجد
|-
|[[نمط الوكيل|Proxy]]
|يوفر مكان فارغ محجوز لغرض اخر ليتحكم بالوصول إليه.
|نعم
|لا
|لا يوجد
|-
|[[Twin (Software engineering)|Twin]]<ref>http://www.ssw.jku.at/Research/Papers/Moe99/Paper.pdf</ref>
|يسمح بالوراثة المتعدة في لغات البرمجة التي لا تسمح بذلك.
|لا
|لا
|لا يوجد
|}
{{تصنيف كومنز|Software design patterns}}
{{شريط بوابات|برمجة الكمبيوتر|تقنية}}