استبيان حول استخدام انماط التصميم Design Patterns عند تصميم التطبيقات
استبيان حول استخدام انماط التصميم Design Patterns عند تصميم التطبيقات
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
السلام عليكم ...
الــ Design Pattern كما افهمة هو وضع حل على شكل قالب template (و من هنا جاءت التسمية Pattern) لمشكلة متكررة الحدوث ...
(Solution in form of template for repeated problems)
اتصور ان استخدامه سيكون قاصر على الشركات الكبيرة او المبرمجين الذين يقومون بالعديد من المشاريع و بالتالي يوفرون الوقت و الجهد بتكوين قوالب ممكن يستخدموها كاساس في مشاريعهم ..
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
بالنسبة لي حينما ابرمج لا افكر كثيرا في الـ patterns و لكن احاول فقط ان احرص على اشياء بديهية اساسية - مثل عدم تكرار الكود و محاولة تنظيمه .. دون ان افكر كثيرا في "باترنات" تدرس في بطون الكتب ..
على الأغلب هذه الأساليب تستخدم في البرمجة عالية المستوى
أقصد برمجة الحزم packages
لأن مبرمج هذه النوعية من الحلول
مهتم جداً بجعل استخدام حزمته أسهل ما يمكن بالنسبة للآخرين
كما هو مهتم بأن يكون تطويرها أسهل ما يمكن للمطورين
ولهذا تجد أن أغلب المبرمجين لا يعرف شيئاً عن تصميم الأنماط design pattern
أما عن كوني استخدمها
فبالتأكيد أنا أستخدمها
خصوصاً عندما أبرمج الحزم الخاصة بي :)
( كلهم حزمتين ولم يستخدمهم أحد ولن يستخدمهم أحد :lol: )
لكن تأكدوا أنك عندما تتعلم design pattern
لن تبرمج بنفس الطريقة التي كنت تبرمج بها مسبقاً
بالمناسبة أخ Night Coder
لماذا أنت مهتم بالاستبيان؟؟
تحياتي
اقتباسلكن تأكدوا أنك عندما تتعلم design patternلن تبرمج بنفس الطريقة التي كنت تبرمج بها مسبقاً
مضبوط لانك ستتعلم كيفيية التصميم بافضل الاساليب فى الOOP و هى اساليب مجربة من قبل
بالاضافة للشعور بمتعة غريبة اثناء استخدام ال Patterns فى عملك
شخصياً استخدم ال Patterns فى عملى عند تصميمى ل Components او User Controls او Class Library يستخدمها مطورين فى العمل
اقتباسهل هذا الشئ موجود فقط فى البرمجة !!
و فى عالم الاعمال حيث تجد ان هناك Business Patterns و هناك Requirements Pattern و فى حلول المؤسسات ستجد Enterprise Patterns و كلها تتعلق بمجال السوفتوير
اقتباسلماذا أنت مهتم بالاستبيان؟؟
كان لدى مدير فى العمل يتعجب من استخدامى لل Interface Programing و لا يستطيع التعرف على ال Pattern او التفكير بها
فوددت ان اعلم ما هى نسبة المطورين الذين يستخدمون لغات برمجة تدعم ال OOP و يعلمون ما هية ال DP
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
المشكلة التي تواجه الأساليب المتطورة
مثل DP refactoring
أن القليل من يفهمهما من المبرمجين ويعرف أهميتها
وتزاداد المشكلة مع المدراء
بحيث تشمل تحليل وتصميم النظام
تحياتي
تم تعديل هذه المشاركة بواسطة alaadiaa في 7 نوفمبر 2008 في 00:02
انا استخدمها مع PHP و Javascript وحتى مع CSS يمكن استخدمها ...
هناك كثير من كتب يتحدث عنها , قرات بعض منها , الموضوع ممتع جدا , مثلا هذه كتاب لدرجة اعجابي به قمت بطبعاته وتجليده (خاص بلجافاسكربت) 
تم تعديل هذه المشاركة بواسطة ahmad123 في 9 نوفمبر 2008 في 23:29
Conciseness , I Found The Book This Morning But I Did Not Like To Download It , Would You Summarize It And Tell If It's Useful
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
Night Coder كتب:Conciseness , I Found The Book This Morning But I Did Not Like To Download It , Would You Summarize It And Tell If It's Useful
سوف قوم بإجماله ان شاء الله بعد الانتهاء من قراءته
مدونه Keepondev العربيه تشرح انماط تصميم جافاسكربت JavaScript design patterns من منهج الكاتب الذى ذكرتوه
http://keepondev.wordpress.com/javascript-...atterns-course/
تم تعديل هذه المشاركة بواسطة darshoo في 11 أبريل 2009 في 23:58
JavaScript Guru
أنا أستخدم MVC
و لكن اذا استخدمته بالمشاريع الصغيره او المتوسطه فهذا يزيد الوقت و الجهد و أرى أنه مناسب جدا في المشاريع الكبيره
اقتباسو لكن اذا استخدمته بالمشاريع الصغيره او المتوسطه فهذا يزيد الوقت و الجهد و أرى أنه مناسب جدا في المشاريع الكبيره
اتفق معك فيما ذكرت و لكن ماذا عن ال Scalability و ال Maintainability فى المشاريع المتوسطة ؟
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
الMVC ليس له معنى اذا لم تكن تطبق Unit Testing على الControllers و الModels بشكل صحيح. لأن الهدف الأصلي من وضعه هو اتاحة الفرصة لعمل Unit Testing لأكبر قدر ممكن من كود الواجهة الرسومية التي تكون في الغالب باستخدام أي اسلوب اخر صعبة جداً في الUnit testing. و بالتالي استخدام الMVC دون عمل Unit Testing هو اضاعة للوقت. أما اذا كنت ستطبق الUnit Test اذن فالMVC لا غنى عنه
مصري في بلاد الفرنجة.
قريباً اقرأ مقالاتي على It-scoop
حديثى عن استخدام ال Design Patterns بصفة عامة فى المشاريع المتوسطة و ليس خاصاً فقط بال MVC (لماذا الكل متعلق بال MVC دون التطرق لل MVP :D )
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
موضوع ممتاز و رائع
هي بشكل مختصر طريقة لاعادة استخدام تعريفات ال Classes ال objects بحيث تغطي جميع العمليات المطلوبة و بشكل يسمح باعادة استخدامها مرارا و تكرارا
الغرض من استخدامها هو توضيح العلاقة بين النظم الرئيسية و النظم الفرعية
و كيفية تفاعلها مع بعضها البعض في اطار العمل Domain and Workplace
و منها العديد من الطرق و الاساليب (حسب الحاجة)
المهم نحن فعلا بحاجة لفهم هذة الطرق و اتوقع من اخواننا ان يقدوموا لنا ملخص يوضح هذا المفهوم بأمثلة بسيطة للتوضيح B) B)
بالنسبة للكلام عن Unit Test وارتباطها الوثيق مع MVC
فهذا الكلام غير دقيق
هناك فوائد أخرى للـ MVC منها ال Scalability و ال Maintainability التي ذكرها الأخ طارق
كما أنها تسمح بتوسيع دائرة العمل الجماعي بدون أن يكون هناك تداخل ما بين المجموعات
(أقصد كل مجموعة تستطيع أن تعمل على الطبقة الخاصة بها بدون أن تتأثر بالمجموعات الأخرى)
تحياتي
اقتباسالMVC ليس له معنى اذا لم تكن تطبق Unit Testing على الControllers و الModels بشكل صحيح. لأن الهدف الأصلي من وضعه هو اتاحة الفرصة لعمل Unit Testing لأكبر قدر ممكن من كود الواجهة الرسومية التي تكون في الغالب باستخدام أي اسلوب اخر صعبة جداً في الUnit testing
متفق معك تماماً
اقتباسأما اذا كنت ستطبق الUnit Test اذن فالMVC لا غنى عنه
لماذا ربطت ال Unit Testing بال MVC بامكانك ان تطبق ال Unit Testing و بدون الحاجة لل MVC
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
السلام عليكم
حقيقة أستشكل علي أمر
ما المقصود ب
Design Patterns
فعليا
أي ما هي الأنماط المستخدمة في هذا المجال ؟
هل يجب علي أستخدام UML لكي أكون أستخدمت design Patterns ؟
أنا أستخدم نمط n-tire في كتابة الكود و بتحديد 3-tire هل يوجد تقارب بينها وبين design Patterns ؟
تم تعديل هذه المشاركة بواسطة Al-Mohana في 6 ديسمبر 2009 في 14:13
تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا
العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس
من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس
الـdesign pattern هو حل مجرب و موحد لحل مشكلة معينة في تصميم البرنامج. مثلاً الـsingleton يستخدم حينما تريد أن يكون الأوبجكت له intance واحد و واحد فقط خلال عمل البرنامج. تمثيل البرنامج بواسطة الـUML يوضح أين يمكن استخدام هذه الـpatterns، لذا هي طبعاً تساعد كثيراً.
يمكن القول بأن الـn-tier هي design pattern كبيرة نوعاً ما. الغالبية العظمى منها أصغر و تهتم بتفاصيل أدق في تصميم البرنامج.
شكرا
الفكرة واضحة
تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا
العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس
من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس
انماط التصميم مهمة جدا. واعتقد انه يجب على اي مبرمج ان يدرب نفسه على استخدامها لانها تنمي لدينا امكانية تحليل النظام ومعرفة المناسب منها لإستخدامه.
وهي تجبرك على استخدام مفاهيم البرمجة الشيئية OOP وتحقيق اهدافها
encapsulate what varies
program to interface
open/close principle
وغيرها
وكما اشرتم فان انماط التصميم تسهل على المبرمج الكثير من ناحية اعادة الاستخدام والتعديل في المستقبل. لأنها تبسط ال code وتحل مشاكل مثل الحجم المستهلك من الذاكرة كما في ال Flyweight pattern