Toshkent axborot texnologiyalari universiteti dasturiy ta'minot arxitekturasi


Download 23.54 Kb.
bet6/7
Sana14.01.2022
Hajmi23.54 Kb.
#337055
1   2   3   4   5   6   7
DTA312Amaliy2
Bog'liq
2 5199664228046212137, bolalar anatomiyasi va fiziologiyasi asoslari fanini organish usullari, 1 4956737600724402347, 1 4956737600724402347, 1 4956737600724402347, 1 4956737600724402347, Азамат Файзуллаев, Hurshida oraliq, MUSTAQIL ISH, 2 5330100572349533156, kursdoshlar obyektivka, YPIP Application Sample, is gazi(1), is gazi(1), maruza matn
Qaramlik inversiyasi printsipi

Korxonalar konkretsiyalarga emas, balki abstraktsiyalarga bog'liq bo'lishi kerak. Unda ta'kidlanganidek, yuqori darajadagi modul past darajadagi modulga bog'liq bo'lmasligi kerak, ammo ular abstraktsiyalarga bog'liq bo'lishi kerak.

Dinamik til sifatida JavaScript ajratishni osonlashtirish uchun abstraktsiyalardan foydalanishni talab qilmaydi. Shuning uchun abstraktsiyalar tafsilotlarga bog'liq bo'lmasligi kerakligi haqidagi qoidalar JavaScript dasturlari uchun alohida ahamiyatga ega emas. Ammo yuqori darajadagi modullar past darajadagi modullarga bog'liq bo'lmasligi kerakligi haqidagi shart , ammo dolzarbdir.

Funktsional nuqtai nazardan, ushbu konteynerlar va in'ektsiya tushunchalari oddiy yuqori darajadagi funktsiya yoki to'g'ridan-to'g'ri tilga o'rnatilgan "o'rtada teshik" naqshlari yordamida hal qilinishi mumkin.

Qanday bog'liqlik inversiyasi yuqori darajadagi funktsiyalar bilan bog'liq? Agar chuqur tushuntirishni istasangiz, stackExchange-da berilgan savol.

Bu shishgan bo'lib tuyulishi mumkin, ammo buni tushunish juda oson. Ushbu tamoyil ajratish imkoniyatini beradi.

Va biz buni ilgari amalga oshirgan edik , kodimizni boshqarishShapeInterface bilan ko'rib chiqamiz va hisoblash usulini qanday bajaramiz .

const boshqarishShapeInterface = (fn) => ({

turi: 'boshqarishShapeInterface',

hisoblang: () => fn ()

})

Nima manageShapeInterface zavod funktsiyasi argument sifatida qabul har shakli uchun decouples faoliyati, yakuniy hisob-kitob qilish uchun zarur bo'lgan mantiq amalga oshirish, bu shakllar ob'ektlar amalga oshiriladi qanday ko'raylik, deb, yuqori tartib funksiyasi.



const kvadrat = (radius) => {

const abstraccion = manageShapeInterface (() => basics.area ()) }

const cubo = (length) => {

const abstraccion = manageShapeInterface (

() => basics.area () + complex.volume ()

)

}



Kvadrat uchun biz hisoblashimiz kerak bo'lgan narsa shunchaki shaklning maydonini olishdir, va kub uchun bizga kerak bo'lgan narsa maydonni hajm bilan yig'ishdir va bu birlashishdan qochish va abstraktsiyani olish uchun kerak.


Download 23.54 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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