Yangi Oʻzbekistonni, albatta, yoshlar bilan birga quramiz. 2020-yil yoshlarga


 Flutterda turli patternlar va MVVM patterning qulayligi


Download 1.38 Mb.
Pdf ko'rish
bet23/28
Sana10.01.2023
Hajmi1.38 Mb.
#1087113
1   ...   20   21   22   23   24   25   26   27   28
Bog'liq
Adxam Soataliyev BMI65018

4.2.2. Flutterda turli patternlar va MVVM patterning qulayligi 
Observer haqida. Mediatorga ko‘chirish orqali o‘zaro ta'sir qiluvchi ob'ektlar 
to‘plami o‘rtasidagi bog‘liqlikni kamaytiradigan xatti-harakatlar dizaynini tahlil 
qildim. Ushbu maqolada men obuna bo‘lgan ob'ekt bilan sodir bo‘lgan har qanday 
hodisalar haqida bir nechta ob'ektlarni xabardor qilish uchun nashr qilish-obuna 
mexanizmini aniqlashga imkon beradigan yana bir xatti-harakatlar dizaynini tahlil 
qilish va amalga oshirishni xohlayman - bu Observer. 
Observer , shuningdek, Dependents yoki Publish-Subscribe nomi bilan 
tanilgan , xatti-harakatlar dizayni naqshlari toifasiga kiradi. Ushbu dizayn 
naqshining maqsadi GoF kitobida tasvirlangan : 
Ob'ektlar o‘rtasida bittadan ko‘pga bog‘liqlikni aniqlang, shunda bitta ob'ekt 
holati o‘zgarganda, uning barcha qaramlari avtomatik ravishda xabardor qilinadi va 
yangilanadi. 
Spoiler ogohlantirishi : agar siz reaktiv dasturlash haqida eshitgan bo‘lsangiz 
yoki hatto ReactiveX, RxDart kabi tegishli ramkalar/kutubxonalar/vositalardan yoki 
oddiy Dart -dagi oddiy oqimlardan foydalangan bo‘lsangiz, ushbu dizayn namunasi 
siz uchun o‘yinni o‘zgartirmaydi. Biroq, reaktiv dasturlash g‘oyalari OOP 
kontekstida boshidanoq qanday amalga oshirilganligini bilishga arziydi. 
Ushbu dizayn naqshining motivatsiyasi tizimda bir-biriga mahkam 
bog‘langan ob'ektlar to‘plamiga ega bo‘lish muammosidan kelib chiqadi, bunda bitta 
ob'ekt uchun o‘zgarishlar boshqa ob'ektlardagi o‘zgarishlarni keltirib chiqarishi 
kerak (bir-ko‘p munosabatlar). Buni amalga oshirishning o‘zgarmas usuli boshqa 
qaram bo‘lganlarning holatini yangilashni amalga oshiradigan ob'ektni aniqlashdir. 


62 
Bunday ob'ektni amalga oshirish, saqlash, sinab ko‘rish va qayta ishlatish, chunki 
qaramlik tartibsizligi tufayli qiyinlashadi. 
Bunga yondashishning eng yaxshi usuli yangilanish mantig‘ini mustaqil 
ravishda amalga oshirishi va saqlab turishi uchun yangilanish hodisalarini bog‘liq 
ob'ektlarga yuboradigan nashr etish-obuna mexanizmini amalga oshirishdir. Bunga 
erishish uchun Observer dizayn namunasi ikkita rolni taqdim etadi: Mavzu va 
Kuzatuvchi. 
Mavzu bildirishnomalarning nashriyotchisi bo‘lib, u ham kuzatuvchilar uchun 
ushbu bildirishnomalarga obuna bo‘lish/obunani bekor qilish usulini belgilaydi. 
Mavzu holatini o‘zgartirganda, ro‘yxatdan o‘tgan barcha kuzatuvchilar avtomatik 
ravishda xabardor qilinadi va yangilanadi. Shunday qilib, ob'ekt o‘z kuzatuvchilari 
kimligini bilmasdan ham qaram ob'ektlarni yangilashni boshlashi mumkin - bu 
sub'ekt va kuzatuvchilar o‘rtasida bo‘sh ulanish imkonini beradi. Observer dizayn 
naqshining 
umumiy 
tuzilishi 
quyidagicha_ko‘rinadi: 

Download 1.38 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   28




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