IranIT.info Articles
عنوان الگوهاي طراحي، قسمت هشتم : ادامه فصل اول، بخش 7-1
نويسندهحسن ابوالحسنى تاريخ ارسال 07/01/1382 نام قسمت فناورى
1.7چگونه يک الگوي طراحي را انتخاب کنيم
با داشتن بيش از 20 الگوي طراحي در کاتالوگ، ممکن است پيدا کردن الگويي که يک مسئله خاص شما را جواب دهد مشکل باشد، مخصوصا اگر اين کاتالوگ براي شما تازه و ناآشنا باشد. در اينجا چندين راه براي يافتن الگوي طراحي مناسب براي يک مساله آورده شده است:

نحوه حل مسائل طراحي بوسيله الگوهاي طراحي را در نظر بگيريد. بخش 1.6 در مورد اينکه چگونه الگوهاي طراحي به شما در ياقتن اشياء، تعيين گرانيته اشياء، تعيين اينترفيس آنها و روشهاي ديگري که اين الگوها مسائل طراحي را حل مي کنند کمک مي کننند را مورد بحث قرار مي دهد. ارجاع به اين مباحث مي تواند به شما در جهت هدايت جستجويتان براي الگوي مناسب کمک کند.
بخش هاي نيت الگوها را مرور کنيد. بخش 1.4 اين قسمت از تمام الگوهاي کاتالوگ را ليست کرده است. همه نيت هاي الگوها را بخوانيد تا يک يا چند الگويي که به مسئله شما ربط دارند را بيابيد. براي فشرده کردن جستجويتان از شماي طبقه بندي آورده شده است. در جدول 1.1 استفاده کنيد.
نحوه ارتباط مابين الگوها را مطالعه کنيد. شکل 1.1 ارتباطات بين الگوهاي طراحي را بصورت گرافيکي نشان مي دهد. مطالعه چنين ارتباطاتي مي تواند به جهت دادن شما به سمت الگوي مناسب يا گروهي از الگوها کمک کند.
مطالعه الگوها با اهداف مشابه . کاتالوگ داراي سه فصل است، فصلي براي الگوهاي ايجادي، ديگري براي الگوهاي ساختاري و سومي براي الگوهاي رفتاري. هر فصل با توضيحاتي در مورد الگوهاي مربوطه شروع شده و با يک بخش که آنها را با يکديگر مقايسه و مواجهه مي دهد پايان مي يابد. اين قسمتها بينش هايي از تشابهات و اختلافات الگوهاي داراي اهداف مشابه به شما خواهند داد.
علت نياز به طراحي مجدد برنامه را بررسي کنيد. به علت هاي نياز به دوباره طراحي کردن يک سيستم که در فصل 1.6 آمده نظري بيندازيد تا ببينيد آيا مساله شما در بين آنها ذکر شده است. آنگاه به الگوهايي که به شما در پرهيز از چنين نيازهايي براي دوباره طراحي کمک مي کنند نگاه کنيد.
قسمتهايي که در طراحي شما بايستي قابل تغيير باشند را در نظر بگيريد. اين روش برعکس روش در نظر گرفتن علتهاي نياز به طراحي دوباره است. بجاي در نظر گرفتن اينکه چه چيزي ممکن است مسبب تغييري در طراحي باشد، در نظر بگيريد که چه چيزي از طراحي را مي خواهيد قادر باشيد بدون طراحي مجدد تغيير دهيد. تاکيد در اينجا بر روي کپسول سازي مفاهيمي است که متغييرند، که تم اصلي بسياري از الگوهاي طراحي است. جدول 1.2 جنبه هايي از طراحي ها که الگوهاي طراحي اجازه مي دهند بطور مستقل تغيير دهيد، يعني بدون نياز به طراحي مجدد اجازه تغيير آنها را مي دهند، را ليست کرده است.

هدف الگوي طراحيجنبه هايي که مي توانند تغيير داده شوند
ايجاديکارخانه مجردخانواده هايي از اشياء
سازنده چگونگي ساخته شدن يک شئ مرکب
متد کارخانه زير کلاس شئ که نمونه سازي مي شود
نمونه کلاس شئ که نمونه سازي مي شود
يگانهتنها نمونه يک کلاس
ساختاريتنظيم کننده رابط به يک شئ
پل پياده سازي يک شئ
ترکيب ساختار و ترکيب يک شئ
آذين گروظايف يک شئ بدون زير کلاس سازي
نماي خارجيرابط به يک زير سيستم
مگس وزن هزينه ذخيره سازي اشياء
نمايندهچگونه يک شئ مورد دسترسي قرار مي گيرد، محل آن
رفتاري زنجيره وظايفاشيائي که مي توانند يک درخواست را جواب دهند
فرمانچه موقع و چگونه يک درخواست جواب داده مي شود
مفسرگرامر و تفسير يک زبان
تکرارکنندهچگونه عناصريک شئ مجتمع مورد دسترسي قرار مي گيرند
مياندارچگونه و چه اشيائي با يکديگر ارتباط برقرار مي کنند
خاطرهچه اطلاعات خاصي خارج از يک شئ ذخيره مي گردد و چه موقع ذخيره مي شود
نظاره گرتعداد اشيائي که به شئ ديگري وابسته اند، و چگونه اين اشياء وابسته به هنگام نگه داشته مي شوند
حالتحالت يک شئ
استراتژييک الگوريتم
متد قالب قدمهاي يک الگوريتم
ملاقات کنندهاعمايکه مي توانند بر روي اشيائي بدون تغيير کلاسهاي آنه اعمال شوند
جدول 1.2: جنبه هاي طراحي که الگوهاي طراحي به شما اجازه مي دهند تغيير دهيد

قسمت قبلي : الگوهاي طراحي، قسمت هفتم : ادامه فصل اول، بخش 6-1
قسمت بعدي : الگوهاي طراحي، قسمت نهم : ادامه فصل اول، بخش 8-1