Prototype Design Pattern
هتكلم انهارده عن خامس Design Pattern
🤔
و هو Prototype يعتبر من اسهل design patterns
🤗
🤗
اللى مشفش باقى المقالات هيلاقى اللينكات كلها ف اخر البوست
👇
👇
نبدء بقى و صل ع النبى كدا
❤️
ايه هو ال Prototype Design pattern دا
هو يعتبر نوع من انواع ال Creatinal Pattern زى ما قولت ف اول مقال عن ال 3 انواع
يعنى الديزاين باترن دا عشان يخلق اوبجيكتات بردو
طيب ليه بقى !
🤔
🤔
عشان يا سيدى يتجنب طريقة إنشاء الاوبجيكت بالطريقة العادية اللى هى New Foo();
و يستخدم ال clone بقى
مثلا عايز تدخل فى الداتا بيز داتا كتير وليكن 1000 rows مثلا
فا اكيد مش هتقضيها new Object بقى
فا ال prototype عشان كدا بقى
و هو Prototype يعتبر من اسهل design patterns
اللى مشفش باقى المقالات هيلاقى اللينكات كلها ف اخر البوست
نبدء بقى و صل ع النبى كدا
ايه هو ال Prototype Design pattern دا
هو يعتبر نوع من انواع ال Creatinal Pattern زى ما قولت ف اول مقال عن ال 3 انواع
يعنى الديزاين باترن دا عشان يخلق اوبجيكتات بردو
طيب ليه بقى !
عشان يا سيدى يتجنب طريقة إنشاء الاوبجيكت بالطريقة العادية اللى هى New Foo();
و يستخدم ال clone بقى
مثلا عايز تدخل فى الداتا بيز داتا كتير وليكن 1000 rows مثلا
فا اكيد مش هتقضيها new Object بقى
فا ال prototype عشان كدا بقى
طيب حلو اوى ورينا مثال بقى بيستخدم ازاى الاخ دا
😂
😂
بص بقى نفترض عندك system مكتبة و بتـ create books بانواع مختلفة
بص بقى نفترض عندك system مكتبة و بتـ create books بانواع مختلفة
فا هنعمل Book Class و دا ال prototype بتاعى
فى اسم الكتاب و القسم بتاعه مثلا
و 2 method بتاخد الاسم و التانية بترجع الاسم
فى اسم الكتاب و القسم بتاعه مثلا
و 2 method بتاخد الاسم و التانية بترجع الاسم
عندى بقى كلاسات تانية من اى نوع بقى برحتى اهوا هنا مثلا فى نوعين
History, Arts
و ال 2 بيـ extends من الاساسى بتاعى ال prototype
بس كل واحد بيحدد ال category بتاعه بقى
طيب هنفترض عايز اخزن عندى بقى وليكن 10 كتب من كل نوع هعمل ايه بقى
ببساطة بتـ create object واحد
History, Arts
و ال 2 بيـ extends من الاساسى بتاعى ال prototype
بس كل واحد بيحدد ال category بتاعه بقى
طيب هنفترض عايز اخزن عندى بقى وليكن 10 كتب من كل نوع هعمل ايه بقى
ببساطة بتـ create object واحد
و بتعمل loop من 1 ل 10
و بتعمل clone لل object دا
انت كدا عملت 10 objects ب 10 كتب
بس كدا ببساطة هو دا ال Prototype design pattern
و بتعمل clone لل object دا
انت كدا عملت 10 objects ب 10 كتب
بس كدا ببساطة هو دا ال Prototype design pattern
نقول مثال تانى سريعا كدا بردو .. شوف تانى صورة
عندك مثلا انواع مستخدمين ف السيستم admin , support كل واحد بيعمل حاجات معينة
فا عملنا كلاس اساسى اسمه User
فى الاسم و السن و النوع مثلا
فا عملنا كلاس اساسى اسمه User
فى الاسم و السن و النوع مثلا
و عملنا كلاسات تانية بالانواع اللى عايزنها و اخلناها تـ extends من كلاس ال User
و حددنا ال type فى كل class
و حددنا ال type فى كل class
عايز اضيف مثلا ال 3 supports اللى ف ال Array او جين من الداتا بيز او ايان كان بقى
فا بردو اخدنا object من كلاس ال support
و عملنا loop ع الاسامى اللى عندى
و اخدنا clone من ال object الاساسى بتاعى بقى
و عملنا set للاسم و السن
فا بردو اخدنا object من كلاس ال support
و عملنا loop ع الاسامى اللى عندى
و اخدنا clone من ال object الاساسى بتاعى بقى
و عملنا set للاسم و السن
بس كدا اما نشوف ب var dump هيطلعلنا object من كلاس Support و كل واحد باسمه و سنه بقى
سهل اوى و بسيط الديزان باترن دا
جربه بقى
و هتلاقه الكود موجود ع الـ github هنا
https://goo.gl/zuc1qB
جربه بقى
و هتلاقه الكود موجود ع الـ github هنا
https://goo.gl/zuc1qB


تعليقات
إرسال تعليق