Programming TypeScript
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
Dizayn naqshlariAgar biz TypeScript-da bir yoki ikkita dizayn naqshini amalga oshirmasak, bu ob'ektga yo'naltirilgan dasturlash bo'limi bo'lmaydi, to'g'rimi? Yakuniy darslarni simulyatsiya qilish Zavod namunasiZavod namunasi - bu qandaydir aniq ob'ektni yaratish qarorini shu ob'ektni yaratuvchi aniq zavodga qoldirib, qandaydir turdagi ob'ektlarni yaratish usuli. Keling, poyabzal fabrikasini quraylik. Poyafzal turini va bir necha turdagi poyabzallarni aniqlashdan boshlaymiz : turi Poyafzal = { maqsad : string } sinf BaletFlat asboblar Poyafzal { maqsad = "raqsga tushish" } sinf Yuklash asboblar Poyafzal { maqsadi = "yog'och kesish" } sinf Krossovka asboblar Poyafzal { maqsadi = "yurish" } E'tibor bering, bu misolda type dan foydalaniladi, lekin biz uning o'rniga interfeysdan foydalanishimiz mumkin edi . Keling, poyabzal fabrikasini quraylik: ruxsat bering Poyafzal = { yaratish ( turi : 'baletFlat' | "yuklash" | "krossovka" ) : Poyafzal { almashtirish ( turi ) { hol 'baletFlat' : qaytish yangi BaletFlat hol "yuklash" : qaytish yangi Yuklash hol "krossovka" : qaytish yangi Krossovka } } } Tur uchun birlashma turidan foydalanish .create ni iloji boricha xavfsizroq qilishga yordam beradi va iste'molchilar kompilyatsiya vaqtida noto'g'ri turga o'tishlarini oldini oladi. Turni yoqish TypeScript-ga biz Poyafzalning har bir turi bilan ishlaganimizdan foydalanishni osonlashtiradi . Ushbu misolda biz qoʻshimcha obʼyekt namunasidan foydalanamiz ( 140-betdagi “Kompaniya obʼyekt namunasi” ga qarang ) bir xil nomdagi Shoe va qiymat Poyafzalini eʼlon qilish uchun (TypeScript-da qiymatlar va turlar uchun alohida nom boʻshliqlari borligini yodda tuting). qiymat turi bo'yicha ishlash usullarini taqdim etishi haqida signal berish. Zavoddan foydalanish uchun biz shunchaki .create ga qo'ng'iroq qilishimiz mumkin : Poyafzal . yaratish ( "yuklash" ) // Poyafzal Voila! Bizda zavod namunasi bor. E'tibor bering, biz bundan ham uzoqroqqa borishimiz va Shoe.create ning imzo turida "boot" ga o'tish Boot ni , "krossovka" Krossovkani va hokazolarni berishini ko'rsatgan bo'lardik, ammo bu zavod namunasidagi abstraktsiyani buzadi . bizga beradi (iste'molchi qanday aniq sinfni qaytarib olishini bilmasligi kerak, faqat sinf ma'lum bir interfeysni qondiradi). Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling