Bajardi: 301-22 guruh talabasi
Akbarov S.U.
Qabul qildi: Xudayberdiyev Mirzaakbar
Toshkent – 2023 Mavzu: Loyihalashtirish patternlari (shablonlari).
Pattern loyihalash - bu dasturiy ta'minot arxitekturasini loyihalashda aniq bir muammo uchun umumiy echim.
Tayyor funktsiyalar yoki kutubxonalardan farqli o'laroq, pattern oddiygina olish va dasturga nusxalash mumkin emas. Pattern - bu ma'lum bir kod emas, balki ma'lum bir muammoni hal qilishning umumiy kontseptsiyasi bo'lib, u hali ham sizning dasturingizning ehtiyojlariga moslashtirilishi kerak.
Patternlarni ko'pincha algoritmlar bilan aralashtirib yuborishadi, chunki ikkala tushunchada ham ma'lum bo'lgan ba'zi muammolarning tipik echimlari tasvirlangan. Ammo agar algoritm aniq harakatlar to'plami bo'lsa, unda pattern bu echimning yuqori darajadagi tavsifi bo'lib, uning bajarilishi ikki xil dasturda farq qilishi mumkin.
O'xshatishga ko'ra, algoritm - bu aniq qadamlar bilan retsept va pattern - bu echimini beradigan muhandislik chizmasi, ammo uni amalga oshirish uchun aniq qadamlar emas.
Factory Method - bu yuqori sinfda ob'ektlarni yaratish uchun umumiy interfeysni belgilaydigan, subklasslarga o'zlari yaratadigan ob'ektlar turini o'zgartirishga imkon beradigan ishlab chiqaruvchi pattern loyihasi hisoblanadi.
Factory Method
Creational Patternlar obyekt yoki tegishli obyektlar guruhini yaratishdagi ba'zi bir muammolarni yechishda foydalaniladi. Bu patternlar 5 tani tashkil qiladi:
Singleton
Demak, o'rganishni Factory Method patterni bilan tanishish orqali boshlaymiz.
Factory Method dizayn patterni obyekt yaratilish jarayonini abstrakt(mavhum)lashtirib, run-time paytida qachonki extiyoj sezilganda obyektni yaratilishiga imkon yaratadi. Dasturchilar ushbu patterni odatda obyekt yaratishning standart usuli sifatida foydalanishadi. Keling berilgan factory method patterniga yanayam sinchikovlik bilan yondashamiz.
Biz FMdan foydalangan holda obyektni uning yaratilish logikasini yashirgan holda hosil qilamiz. Ya'ni, obyekt yaratish uchun interfeysdan foydalaniladi, lekin voris class qaysi class obyekti yaratilishini belgilaydi.
Albatta sizga berilgan ma'lumotlar birdaniga tushunarsiz bo'lishi mumkin, men ham bir o'qishda o'rgana olmaganman. Lekin ko'proq misollar orqali ko'rsangiz buni tushunish osonroq kechadi.
Quyidagi ko'rsatilgan UML diagramma, FMni qanday tashkil etilishini belgilaydi.
Yuqoridagi diagramma elementlari nimani anglatadi birma - bir tahlil qilib chiqamiz: