Programming TypeScript


Download 1.81 Mb.
bet90/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   86   87   88   89   90   91   92   93   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Quruvchi namunasi


Quruvchi namunasi - bu ob'ektning konstruktsiyasini ushbu ob'ektni haqiqatda amalga oshirish usulidan ajratish usuli. Agar siz JQuery yoki Map va Set kabi ES6 maʼlumotlar tuzilmalaridan foydalangan boʻlsangiz , bu API uslubi tanish koʻrinishi kerak. Bu qanday ko'rinishga ega:
yangi RequestBuilder () . setURL ( '/users' )
. setMethod ( "olish" )
. setData ({ firstName : 'Anna' })
. yuborish ()
RequestBuilder- ni qanday amalga oshiramiz ? Oson - biz yalang'och darsdan boshlaymiz:
sinf RequestBuilder {}

.setURL usulini qo'shamiz : class RequestBuilder { xususiy url : string | null = null
setURL ( url : string ) : bu {
bu . url = url qaytish bu
}
}
Biz foydalanuvchi o'rnatgan URL manzilini shaxsiy misol o'zgaruvchisi URL manzilini kuzatib boramiz , biz uni null ga ishga tushiramiz .
setURL ning qaytarish turi bu ( 89-betdagi “Qaytish turi sifatida foydalanish” ga qarang ), ya'ni foydalanuvchi setURL- ni chaqirgan RequestBuilder- ning o'ziga xos namunasi .
Keling, misolimizdan boshqa usullarni qo'shamiz:
sinf RequestBuilder {
xususiy ma'lumotlar : ob'ekt | null = null xususiy usul : 'olmoq' | "post" | null = null xususiy url : string | null = null setMethod ( usul : 'olmoq' | 'post' ) : bu {
Dizayn naqshlari
bu . usuli = usuli qaytish bu
}
setData ( ma'lumotlar : ob'ekt ) : bu {
bu . ma'lumotlar = ma'lumotlar qaytish bu
}
setURL ( url : string ) : bu {
bu . url = url qaytish bu }
yuborish() { // ...
}
}
Hammasi shu.
U shbu an'anaviy quruvchi dizayni mutlaqo xavfsiz emas: biz usul, URL yoki ma'lumotlarni o'rnatishdan oldin .send ga qo'ng'iroq qilishimiz mumkin, natijada ish vaqti istisno qilinadi (esda tutingki, bu istisnoning yomon turi). Ushbu dizaynni qanday yaxshilash haqida ba'zi fikrlar uchun 4-mashqni ko'ring.

Xulosa


Endi biz TypeScript sinflarini har tomondan o‘rganib chiqdik: sinflarni qanday e’lon qilish kerak; sinflardan meros olish va interfeyslarni qanday amalga oshirish; sinflarni qanday qilib abstrakt deb belgilash kerak, shuning uchun ularni instantsiyalash mumkin emas; statikga ega sinfga va unsiz misolga maydon yoki usulni qanday qo'yish kerak; shaxsiy , himoyalangan va umumiy ko'rinish modifikatorlari yordamida maydon yoki usulga kirishni qanday boshqarish mumkin ; va faqat o'qiladigan modifikator yordamida maydonni yozilmaydigan deb belgilash . Biz this va super dan qanday qilib xavfsiz foydalanishni koʻrib chiqdik, sinflar bir vaqtning oʻzida qiymat va tur boʻlishi nimani anglatishini oʻrganib chiqdik va tip taxalluslari va interfeyslar oʻrtasidagi farqlar, deklaratsiyani birlashtirish asoslari va umumiy turlardan foydalanish haqida gaplashdik. sinflarda. Nihoyat, biz sinflar bilan ishlash uchun bir nechta ilg'or naqshlarni ko'rib chiqdik: miksinlar, dekorativlar va yakuniy sinflarni simulyatsiya qilish. Va bobni yakunlash uchun biz sinflar bilan ishlashning bir nechta umumiy namunalarini ko'rib chiqdik va chiqardik.

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   86   87   88   89   90   91   92   93   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling