الفرق بين المراجعتين ل"Design Patterns/what is pattern"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إدخال 1.0: عنوان الصفحة)
(إدخال 2.0 محتوى صفحة What is patterns)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:ما هي أنماط التصميم}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:ما هي أنماط التصميم}}</noinclude>
 +
تشبه الأنماط في تصميم البرمجيات وصفات الطهي، فهي ليست أطباقًا جاهزة، لكنها إرشادات لتقطيع وتجهيز المنتجات وطهيها ومن ثم تقديمها، وهكذا.
 +
 +
محتوى النمط
 +
 +
يتكون وصف النمط عادة من التالي:
 +
 +
مشكلة يحلها النمط.
 +
 +
دافع لحل المشكلة باستخدام الأسلوب الذي يرشحه النمط.
 +
 +
هيكلة الفئات التي تكوّن الحل.
 +
 +
مثال بلغة برمجية.
 +
 +
وصف فروق تنفيذ النمط في سياقات مختلفة.
 +
 +
العلاقات مع الأنماط الأخرى.
 +
 +
من يخترع الأنماط؟
 +
 +
الأنماط تُكتشف ولا تخترع، فهي نماذج لحل مشاكل متكررة وليست أفكارًا مبتكرة أو فريدة. وأول من قدم وصفًا للأنماط كان كريستوفر أليكساندر (Christopher Alexander) في كتابه "لغة النمط: المدن والمباني والإنشاء" (A Pattern Language: Towns, Buildings, Construction)، ويتحدث في الكتاب عن "لغة" لتصميم بيئة المدن، وتجيب فصول الكتاب عن أسئلة معمارية تصف ما يجب أن تكون عليه تلك المدن، مثل ارتفاع النوافذ وعدد الطوابق لكل مبنى، وحجم المساحات الخضراء في كل حي وهكذا.
 +
 +
وقد ألهمت فكرة الكتاب أربعة مؤلفين هم إريك جاما (Erich Gamma) وجون فليسيدز (John Vlissides) ورالف جونسون (Ralph Johnson) وريتشارد هيلم (Richard Helm) لينشروا كتابًا في 1995 اسمه "أنماط التصميم: عناصر البرمجيات كائنية التوجه القابلة لإعادة الاستخدام" (Design Patterns: Elements of Reusable Object-Oriented Software)، طبقوا فيه مبدأ الأنماط التقليدية على البرمجة، وقد احتوى الكتاب على ثلاثة وعشرين نمطًا يحلون أغلب مشاكل التصميم كائني التوجه. وقد اكتُشفت عشرات الأنماط منذ ذلك الوقت، وصار مبدأ الأنماط مشهورًا في أنواعٍ أخرى من البرمجة، ما يعني إمكانية اكتشاف أنماط جديدة خارج نطاق التصميم كائني التوجه.

مراجعة 12:38، 26 نوفمبر 2018

تشبه الأنماط في تصميم البرمجيات وصفات الطهي، فهي ليست أطباقًا جاهزة، لكنها إرشادات لتقطيع وتجهيز المنتجات وطهيها ومن ثم تقديمها، وهكذا.

محتوى النمط

يتكون وصف النمط عادة من التالي:

مشكلة يحلها النمط.

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

هيكلة الفئات التي تكوّن الحل.

مثال بلغة برمجية.

وصف فروق تنفيذ النمط في سياقات مختلفة.

العلاقات مع الأنماط الأخرى.

من يخترع الأنماط؟

الأنماط تُكتشف ولا تخترع، فهي نماذج لحل مشاكل متكررة وليست أفكارًا مبتكرة أو فريدة. وأول من قدم وصفًا للأنماط كان كريستوفر أليكساندر (Christopher Alexander) في كتابه "لغة النمط: المدن والمباني والإنشاء" (A Pattern Language: Towns, Buildings, Construction)، ويتحدث في الكتاب عن "لغة" لتصميم بيئة المدن، وتجيب فصول الكتاب عن أسئلة معمارية تصف ما يجب أن تكون عليه تلك المدن، مثل ارتفاع النوافذ وعدد الطوابق لكل مبنى، وحجم المساحات الخضراء في كل حي وهكذا.

وقد ألهمت فكرة الكتاب أربعة مؤلفين هم إريك جاما (Erich Gamma) وجون فليسيدز (John Vlissides) ورالف جونسون (Ralph Johnson) وريتشارد هيلم (Richard Helm) لينشروا كتابًا في 1995 اسمه "أنماط التصميم: عناصر البرمجيات كائنية التوجه القابلة لإعادة الاستخدام" (Design Patterns: Elements of Reusable Object-Oriented Software)، طبقوا فيه مبدأ الأنماط التقليدية على البرمجة، وقد احتوى الكتاب على ثلاثة وعشرين نمطًا يحلون أغلب مشاكل التصميم كائني التوجه. وقد اكتُشفت عشرات الأنماط منذ ذلك الوقت، وصار مبدأ الأنماط مشهورًا في أنواعٍ أخرى من البرمجة، ما يعني إمكانية اكتشاف أنماط جديدة خارج نطاق التصميم كائني التوجه.