JavaRush /Java blogi /Random-UZ /Java-da dizayn naqshlari [1-qism]
Ivan Zaitsev
Daraja
Киев

Java-da dizayn naqshlari [1-qism]

Guruhda nashr etilgan
Bu Java-da dizayn naqshlari haqida qisqacha maqola. Shakllarni amalga oshirish bo'lmaydi, faqat java-da mavjud naqshlar ro'yxati va ularning qisqacha mazmuni mavjud. Bu takrorlash va umumlashtirish uchun mavzuda bo'lganlar uchun foydali bo'ladi. Yoki, aksincha, naqshlarga birinchi marta murojaat qilganlar uchun - chuqurroq qazishdan oldin mavzuning birinchi sharhi uchun. Dizayn naqshlari (dizayn shablonlari) tez-tez uchrab turadigan dasturlash muammolari uchun foydalanishga tayyor echimlardir. Bu loyihaga ulanishi mumkin bo'lgan sinf yoki kutubxona emas, bu ko'proq narsa. Vazifaga mos dizayn naqshlari har bir alohida holatda amalga oshiriladi. Shuni esda tutish kerakki, bunday naqsh, agar noto'g'ri yoki noto'g'ri muammoga qo'llanilsa, juda ko'p muammolarni keltirib chiqarishi mumkin. Biroq, to'g'ri qo'llaniladigan naqsh muammoni oson va sodda hal qilishga yordam beradi. Java-da dizayn naqshlari [1-qism] - 1Shakl turlari :
  • hosil qiluvchi
  • tizimli
  • xulq-atvor
Yaratish naqshlari obyektlarni qulay tarzda yaratishga imkon beruvchi ishga tushirish mexanizmlarini ta'minlaydi. Strukturaviy naqshlar sinflar va ob'ektlar o'rtasidagi munosabatlarni belgilab, ularning birgalikda ishlashiga imkon beradi. Xulq-atvor namunalari sub'ektlar o'rtasidagi o'zaro munosabatlarni engillashtirish uchun ishlatiladi. Generatorlar :
  • Singleton - sinfning bir nusxasini yaratishni cheklaydi va uning yagona ob'ektiga kirishni ta'minlaydi.
  • Zavod - bizda bir nechta kichik sinflarga ega super sinf mavjud bo'lganda va kiritilgan ma'lumotlarga asoslanib, biz quyi sinfdan birini qaytarishimiz kerak bo'lganda foydalaniladi.
  • Abstract Factory - zavod yaratish uchun super zavoddan foydalaning, so'ngra yaratilgan zavoddan ob'ektlar yaratish uchun foydalaning.
  • Quruvchi - oddiy ob'ektlar yordamida murakkab ob'ektni yaratish uchun ishlatiladi. Asta-sekin u kichik va oddiy ob'ektdan kattaroq ob'ektni yaratadi.
  • Prototip - yangi ob'ekt o'rniga, mavjud ob'ektning qaytarilgan kloni yaratiladi, yaxshi ishlashi bilan takrorlangan ob'ektni yaratishga yordam beradi.
Strukturaviy :
  • Adapter ikkita mos kelmaydigan ob'ektlar orasidagi konvertordir. Adapter naqshidan foydalanib, biz ikkita mos kelmaydigan interfeyslarni birlashtira olamiz.
  • Kompozit - daraxt tuzilishini ifodalash uchun bitta sinfdan foydalanadi.
  • Proksi - boshqa sinfning funksionalligini ifodalaydi.
  • Flyweight - Ko'p sonli o'xshash ob'ektlarni yaratish o'rniga, ob'ektlar qayta ishlatiladi.
  • Fasad - mijoz uchun oddiy interfeysni taqdim etadi va mijoz tizim bilan o'zaro aloqa qilish uchun interfeysdan foydalanadi.
  • Ko'prik - beton sinflarni interfeysni amalga oshirish sinflaridan mustaqil qiladi.
  • Dekorator - mavjud ob'ektga uning tuzilishiga rioya qilmasdan yangi funksiyalar qo'shadi.
Xulq-atvor :
  • Shablon usuli - algoritm asosini belgilaydi va vorislarga algoritmning ba'zi bosqichlarini uning butun tuzilishini o'zgartirmasdan qayta belgilashga imkon beradi.
  • Mediator - turli sinflar orasidagi barcha aloqalarni boshqaradigan vositachi sinfini taqdim etadi.
  • Mas'uliyat zanjiri - so'rovni jo'natuvchining uni oluvchiga qat'iy qaramligidan qochish imkonini beradi, shu bilan birga so'rov bir nechta ob'ektlar tomonidan qayta ishlanishi mumkin.
  • Observer - ba'zi ob'ektlarni kuzatish va boshqa ob'ektlarda sodir bo'layotgan hodisalarga munosabat bildirish imkonini beradi.
  • Strategiya - dasturni bajarish jarayonida strategiya algoritmini o'zgartirish mumkin.
  • Buyruq - Buyruq interfeysi ma'lum bir harakatni bajarish usulini e'lon qiladi.
  • Holat - ob'ekt holatiga qarab o'z harakatini o'zgartirishi mumkin.
  • Mehmon - bog'liq ob'ektlarni guruhlash bo'yicha operatsiyalarni soddalashtirish uchun ishlatiladi.
  • Tarjimon - muammoli domen uchun oddiy til grammatikasini belgilaydi.
  • Iterator - yig'ish ob'ektining elementlariga uning asosiy ko'rinishini bilmasdan ketma-ket kirishadi.
  • Memento (Keeper) - ob'ektning holatini saqlash uchun ishlatiladi, bu holat keyinroq tiklanishi mumkin.
JavaRush kursida qatnashayotganda siz ushbu ro'yxatdagi bir nechta naqshlarni uchratasiz. Naqsh muammolarini tavsiya qilaman: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Dizayn naqshlaridan oqilona foydalanish kodni saqlash ishonchliligini oshirishga olib keladi, chunki umumiy muammoga yaxshi yechim bo'lishdan tashqari, dizayn naqshlari tomonidan tan olinishi mumkin boshqa ishlab chiquvchilar , bu ma'lum kod bilan ishlash vaqtini qisqartiradi. Java-da dizayn naqshlari [2-qism]
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION