Dangasa meros - Lazy inheritance - Wikipedia

Dangasa meros a dizayn namunasi ichida ishlatilgan JavaScript kompyuter dasturlash.

Ob'ektni u bilan kechiktirilgan bog'lanishini belgilaydi prototip (sinf) kerak bo'lguncha. To'g'ri ishlatilsa, bunday yondashuv samaradorlikni, soddaligi va moslashuvchanligini oshirishi mumkin OOP-ga asoslangan JavaScript yordamida yozilgan kod.

Birinchi ob'ekt namunasini yaratish paytida dangasa meros faqat bir marta chaqirilganligi sababli, sinf prototipini yaratish jarayonini ushbu sinfning zarur bog'liqliklarini hal qilish bilan birlashtirish mantiqiy ko'rinadi.

Dangasa merosda bo'lgan ob'ektlarning nusxalari "aralash" rejimda yaratiladi - birinchi chaqiruvda zavod prototipini o'zgartirish uchun zavod ishlatiladi, keyinchalik keyinchalik ob'ekt misollarini yaratish uchun foydalaniladi. Boshqacha qilib aytganda, prototipni yaratish jarayoni, shuningdek, qaysi sinfga bog'liq bo'lgan skriptlarni (agar ilgari yuklanmagan bo'lsa) yuklashga imkon beradi.

Merosni qo'llab-quvvatlashga bunday yondashish quyidagi afzalliklarga ega:

  • Dangasa meros klassik JavaScript prototip xususiyatlari kabi bir xil afzalliklarga ega;
  • Skript fayllarini deklaratsiyalashning to'g'ri tartibini ta'minlash shart emas;
  • Ko'p hollarda, HTML JavaScript-ni o'z ichiga olgan sahifa tezroq yuklanadi, chunki sahifani ishga tushirish paytida hech qanday ob'ekt yaratilmagan va ba'zi skriptlar faqat kerakli vaqtda yuklanishi mumkin (agar ularni bajarish paytida qo'ng'iroq qiluvchi kodi haqiqatan ham mos keladigan sinflarning nusxalarini yaratsa kerak );
  • Qarama-qarshiliklar aniqroq e'lon qilinadi va sinf faqat aniq skriptlarga bog'liq; Bundan tashqari, ba'zi bir skriptlarni sun'iy ravishda modullarga birlashtirish va bunday modullar o'rtasidagi bog'liqlikni aniqlash kerak emas;
  • Agar skriptlarni yuklashning dangasa rejimi ishlatilsa, faqat kerakli skriptlar (aslida amaliy dastur uchun zarur) yuklanadi. Agar ba'zi bir HTML-sahifalar, masalan, "o'qish-yozish" va "faqat o'qish" kabi turli xil rejimlarda ishlashi mumkin bo'lsa, har bir rejim uchun kerakli skriptlar yuklanadi va bu qo'lda skriptlarni yuklashni optimallashtirmasdan avtomatik ravishda amalga oshiriladi.

Shuningdek qarang

Amalga oshirish