Kirolos Nagy2 نشر 14 ديسمبر 2021 أرسل تقرير نشر 14 ديسمبر 2021 ما هي ال design patterns لاني مش فاهمها 2 اقتباس
0 Wael Aljamal نشر 14 ديسمبر 2021 أرسل تقرير نشر 14 ديسمبر 2021 تعريف design patterns: أنماط التصميم (Design Patterns) هي أساليب نموذجية/فعالة/أفضل حل ممكن تحل المشاكل التي تتكرر كثيرًا في تصميم البرمجيات/طريقة تفاعل مكونات النظام الحاسوبي، ويمكن تشبيهها بالمخططات التي تستخدمها -وتُعدَّلها أيضًا- من أجل إصلاح مشكلة بعينها في شيفرتك. لها عدة أنواع، تفيد في جميع مجالات علوم الحاسب، أنماط التصميم الإنشائية Creational Design Patterns: كيفية بناء الأغراض البرمجية أنماط التصميم الهيكلية: هيكلة صنف ما بطريقة تحقق تفاعله من أصناف أخرى. أنماط التصميم السلوكية: تعديل سلوم غرض برمجي خلال عمل المشروع توثيق موسوعة حسوب: أنماط التصميم مقالة: 1 اقتباس
1 شرف الدين حفني نشر 14 ديسمبر 2021 أرسل تقرير نشر 14 ديسمبر 2021 الdesign patterns أو (أنماط التصميم) هي عبارة عن نمط أو نموذج يُستخدم لحل مشكلة ما شائعة, على سبيل المثال إن كان لدينا صنف يُسمى duck ولدى هذا الصنف تصرفين أو دالتين أساسيين هما fly و quack وكان لدينا أنواع من البط فبالتالي سنجعلهم يرثون من الصنف duck, ولكن ماذا إن كان لكل نوع من البطducks طريقة مختلفة للطيران fly وإصدار الصوت quack فبالتالي ماذا يمكننا أن نفعل؟ إما أن نقوم بعمل implementation للدالتين fly & quack بداخل كل صنف من الأصناف والذي سيكون أمرُ مرهق وسينشئ إحتمالية أكبر لحدوث الأخطاء البرمجية ويوجد حل أخر وهو إستخدام النمط strategy design pattern والذي في تلك الحالة أو الموقف يخبرنا أن نقوم بعمل أصناف لأنواع الطيران وإصدار الصوت المختلفة, على سبيل المثال FlyWithWings, FlyWithWings ونجعلهم جميعا يرثون من واجهة interface مشتركة ولنسميها الأن flying, ومن ثم نقوم بإعطاء أصناف البط المختلف خاصية تعبر عن سلوك الطيران flyTechnique ونجعلها من نوع نفس الواجهة التي أنشئناها من قليل flying ومن ثم نقوم بعمل الدالة setFlyTechnique, ونقوم بتكرار الخطوات السابقة مع دالة إصدار الصوت, بهذه الطريقة قمنا بفصل الخواص التي تتغير ووضعناها في أصناف خاصة بها وبالتالي لا يهمنا متى تمت إضافة أو إزالة نوع جديد من البط أو الطيران أو الصوت حيث أننا قمنا بعزل كلٍ منهم عن الأخر 1 اقتباس
0 Kirolos Nagy2 نشر 14 ديسمبر 2021 الكاتب أرسل تقرير نشر 14 ديسمبر 2021 بتاريخ 19 دقائق مضت قال شرف الدين2: الdesign patterns أو (أنماط التصميم) هي عبارة عن نمط أو نموذج يُستخدم لحل مشكلة ما شائعة, على سبيل المثال إن كان لدينا صنف يُسمى duck ولدى هذا الصنف تصرفين أو دالتين أساسيين هما fly و quack وكان لدينا أنواع من البط فبالتالي سنجعلهم يرثون من الصنف duck, ولكن ماذا إن كان لكل نوع من البطducks طريقة مختلفة للطيران fly وإصدار الصوت quack فبالتالي ماذا يمكننا أن نفعل؟ إما أن نقوم بعمل implementation للدالتين fly & quack بداخل كل صنف من الأصناف والذي سيكون أمرُ مرهق وسينشئ إحتمالية أكبر لحدوث الأخطاء البرمجية ويوجد حل أخر وهو إستخدام النمط strategy design pattern والذي في تلك الحالة أو الموقف يخبرنا أن نقوم بعمل أصناف لأنواع الطيران وإصدار الصوت المختلفة, على سبيل المثال FlyWithWings, FlyWithWings ونجعلهم جميعا يرثون من واجهة interface مشتركة ولنسميها الأن flying, ومن ثم نقوم بإعطاء أصناف البط المختلف خاصية تعبر عن سلوك الطيران flyTechnique ونجعلها من نوع نفس الواجهة التي أنشئناها من قليل flying ومن ثم نقوم بعمل الدالة setFlyTechnique, ونقوم بتكرار الخطوات السابقة مع دالة إصدار الصوت, بهذه الطريقة قمنا بفصل الخواص التي تتغير ووضعناها في أصناف خاصة بها وبالتالي لا يهمنا متى تمت إضافة أو إزالة نوع جديد من البط أو الطيران أو الصوت حيث أننا قمنا بعزل كلٍ منهم عن الأخر هل ممكن شرح بسيط بكود javascript كود واحد فقط اقتباس
0 أسامة زيادة نشر 14 ديسمبر 2021 أرسل تقرير نشر 14 ديسمبر 2021 أنماط التصميم: تعتبر نماذج لحل مشكلات متكررة في تصميم البرمجيات ،هي عبارة عن طريقة لحل مشكلات المعتادة أثناء تصميم البرمجيات بحيث يمكنك استعمال الحلول في حالات مختلفة وهي ليست كود برمجي . تعتبر أنماط التصميم سهلة التعديل وسهلة الاختبار ومن أشهرها MVC و MVVM و Singleton وغيرها من أنماط التصميم . هناك أنواع متعلقة بإنشاء الكلاس نمط Singleton نمط Builder نمط Prototype نمط Factory Method نمط Abstract Factory أنماط متعلقة بشكل الكلاس وكيفية عمله نمط Adapter نمط Composite نمط Facade نمط Bridge نمط Decorator نمط Proxy نمط Flyweight أنماط متعلقة بسلوك الكائنات : هذه الأنماط تتعلق بكيفية التواصل بين الكائنات بشكل منفصل نمط Mediator نمط Observer نمط Null Object نمط Memento نمط State نمط Visitor وهناك أنماط أخرى في هذا النمط MVC Model : يحتوى على البيانات . view : عرض المعلومات للمستخدم. controller : يعالج البيانات التي تأتي من المستخدم. 1 اقتباس
0 Kirolos Nagy2 نشر 14 ديسمبر 2021 الكاتب أرسل تقرير نشر 14 ديسمبر 2021 بتاريخ 2 دقائق مضت قال أسامة زيادة: أنماط التصميم: تعتبر نماذج لحل مشكلات متكررة في تصميم البرمجيات ،هي عبارة عن طريقة لحل مشكلات المعتادة أثناء تصميم البرمجيات بحيث يمكنك استعمال الحلول في حالات مختلفة وهي ليست كود برمجي . تعتبر أنماط التصميم سهلة التعديل وسهلة الاختبار ومن أشهرها MVC و MVVM و Singleton وغيرها من أنماط التصميم . هناك أنواع متعلقة بإنشاء الكلاس نمط Singleton نمط Builder نمط Prototype نمط Factory Method نمط Abstract Factory أنماط متعلقة بشكل الكلاس وكيفية عمله نمط Adapter نمط Composite نمط Facade نمط Bridge نمط Decorator نمط Proxy نمط Flyweight أنماط متعلقة بسلوك الكائنات : هذه الأنماط تتعلق بكيفية التواصل بين الكائنات بشكل منفصل نمط Mediator نمط Observer نمط Null Object نمط Memento نمط State نمط Visitor وهناك أنماط أخرى في هذا النمط MVC Model : يحتوى على البيانات . view : عرض المعلومات للمستخدم. controller : يعالج البيانات التي تأتي من المستخدم. هل ممكن شرح بسيط بكود javascript علي design patterns اقتباس
1 شرف الدين حفني نشر 14 ديسمبر 2021 أرسل تقرير نشر 14 ديسمبر 2021 بتاريخ On 12/14/2021 at 14:56 قال Kerollos nagy: هل ممكن شرح بسيط بكود javascript علي design patterns كما تلاحظ عندما نقوم بإدخال مُعرف غير موجود لا نقوم بإرجاع قيمة null للمُستخدم بل بدلًا من ذلك نقوم بإرجاع الNullPerson وهو عبارة عن كائن من نوع person ولكن له خصائص معينة مثل أن إسمه guest يُستخدم هذا النمط عند التعامل مع مصدر للبيانات مثل قاعدة بيانات ويوجد لدينا إحتمالية رجوع قيمة بnull فنستخدم ذلك النمط لنتفادى الأخطاء التي قد تنتج من التعامل مع قيمة بnull constructor(id,name) { this.id = id this.name = name; } } // Null person wrapper class NullPerson { constructor() { this.id = null this.name = 'Guest'; } } const persons = [ new Person(1, "sharaf"), new Person(2, "ashraf") ] function findPerson(id) { const person = persons.find(person => person.id === id) if (person) return person else return new NullPerson() } let personOne = findPerson(1) console.log("Welcome, " + personOne.name) let personTwo = findPerson(99) console.log("Welcome, " + personTwo.name) 1 اقتباس
السؤال
Kirolos Nagy2
ما هي ال design patterns لاني مش فاهمها
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.