daynamic.title_categories.blog_categories
daynamic.title_categories.tags
البومات الصور
nano.all.videoList
daynamic.title_categories.title_tags
daynamic.msg_no_data.لاتوجد بيانات لعرضها
daynamic.title_categories.title_links
Posted in مقالات برمجية وتقنية on Jan 08, 2024
ما معنى Design patterns؟؟ 🤔
ما معنى Design patterns؟؟ 🤔
لماذا تتعلم Design patterns؟؟؟
نبدأ بأول حاجه يعني Design patterns؟
نجيب الموضوع من الاول في البدايه كنا نكتب بطريقة Sequential بمعني إنك تكتب البرنامج تبعك على اساس انه عبارة عن مجموعة سطور من الـ Code تحت بعضها تتنفذ بالترتيب و هذه كان اسمها الـ Sequential Programming.
بعد فترة وعلشان الكود يبقى يتكرر كتير فهذا وصلهم انهم ممكن يجمعوا الأكواد اللي تتكرر في مكان واحد وكل ما نحتاجهم نستخدمهم وهنا ظهر مفهوم الـ function و دي كان اسمها الـ Procedural programming.
وبدأ التفكير يتجه الي إن ازاي نسهل البرمجة علي المبرمجين بأنها تكون اقرب لطريقة تفكير الإنسان و فالوقت ده ظهر الـ OOP - object oriented programming وهو انك بتقسم السوفت وير لمجموعة classes و بتحدد علاقاتها ببعضها و الـ behavior بتاعها ودي اقرب حاجه للحياة الطبيعية و طريقة تفكير الانسان قدروا يوصلولها لحد دلوقتي.
لحد هنا كويس , طبيعي وانت شغال كـ software engineer بتواجهك مشاكل وبتفكرلها في حلول وبتحلها , ومع الوقت في مجموعة مشاكل بقت بتتكرر مع ناس كتير وبقت مشاكل مشتركة , وبدأ المبرمجين يعملولها طرق حلول (patterns) ويطوروا طرق الحلول دي وتبقي طرق موحدة بتسهل عليك حل مشاكل معينة بعينها لما تقابلك (وهتقابلك) وهي دي الـ design patterns.
فهي ببساطة مجموعة حلول لمشاكل common هتقابلك بطريقة متكررة وانت شغال. بس لازم يكون واضح انها مش أكواد او حاجه تتحول لكود هي مجموعة خطوات لحل مشكلة معينة , انت بترجمها لكود بعد كده.
طيب ليش تدرس ال Design patterns؟
لما تستخدم الـ design patterns هتعمل اغلب الـ best practices اللي تخليك professional software engineer زي:
1- راح تلاقي نفسك بتكتب كود اقل بكتير Less code.
هتلاقي ان الـ software بتاعك سهل تطور وتعدل فيه بأقل مجهود maintainable software.
2- راح تلاقي ان قدراتك فالـ Problem Solving زادت بشكل ملحوظ جدا
يعني مجهود اقل و وقت اقل و كفائه اعلى للموقع او المشروع تبعك