Yangi Oʻzbekistonni, albatta, yoshlar bilan birga quramiz. 2020-yil yoshlarga
-rasm. Publisher dan Clientga bo‘lgan boshliqlik diogrammasi
Download 1.38 Mb. Pdf ko'rish
|
Adxam Soataliyev BMI65018
4.2.1-rasm. Publisher dan Clientga bo‘lgan boshliqlik diogrammasi
Publisher (Mavzu) — obunachi (kuzatuvchi) ob'ektlarini biriktirish va ajratish uchun interfeysni taqdim etadi , kuzatuvchilar ro‘yxatini o‘z ichiga oladi; (Ixtiyoriy) Concrete Publishers — Beton obunachilar uchun qiziqish holatini saqlaydi va holat o‘zgarganda kuzatuvchilarga bildirishnoma yuboradi. Bu sinf faqat bitta turdagi 63 Publisher kerak bo‘lganda ixtiyoriydir. Bunday holda, holat va bildirishnoma mantig‘i nashriyotchi tomonidan boshqariladi; Obunachi (Kuzatuvchi) — Mavzudagi oʻzgarishlar toʻgʻrisida xabardor qilinishi kerak boʻlgan obʼyektlar uchun bildirishnoma interfeysini eʼlon qiladi ; Concrete Subscribers — obunachi (kuzatuvchi) interfeysini uning holatini subʼyekt holatiga mos holda saqlash uchun amalga oshiradi; Mijoz — Subyekt va Observer obyektlarini yaratadi , kuzatuvchilarni mavzu yangilanishlariga biriktiradi. Observer va Mediator. Agar siz Mediator dizayn namunasi bilan tanish bo‘lsangiz, qandaydir deja vuni his qilishingiz mumkin - Observer dizayn namunasi xuddi shu narsa emasmi? Mediator dizayn naqshining asosiy maqsadi aloqa qismini boshqaradigan maxsus vositachi ob'ektidan foydalangan holda ob'ektlar orasidagi ko‘pdan ko‘pga munosabatlarni birdan ko‘pga munosabatlarga almashtirishdir. Observer ob'ektlar o‘rtasida dinamik bir tomonlama aloqani o‘rnatishga imkon beradi, bunda ba'zi ob'ektlar boshqalarga bo‘ysunadi. Agar sizda uning holatiga obuna bo‘lishga ruxsat beruvchi faqat bitta vositachi bo‘lsa, bu amalga oshirish Observer dizayn namunasiga asoslanadi, lekin Mediator dizayn namunasi ham faqat nashr etish-obuna aloqasining bir qismi sifatida ishlatilishi mumkin. Endi, agar bizda bir nechta noshirlar va bir nechta obunachilar (ular ham noshirlar bo‘lishi mumkin) bo‘lsa, hech qanday vositachi ob'ekti bo‘lmaydi, faqat kuzatuvchilarning taqsimlangan to‘plami. Qo‘llanilishi. Observer dizayn namunasi bir ob'ektni o‘zgartirish boshqalarni o‘zgartirishni talab qilganda qo‘llanilishi kerak, lekin siz qancha ob'ektni va qanday o‘zgartirish kerakligini bilmaysiz. Shakl bunday ob'ekt hodisalariga obuna bo‘lish va tegishli ob'ektning holatini o‘zgartirish imkonini beradi. Bundan tashqari, bu naqsh ba'zi ob'ektlar boshqalarni kuzatishi kerak bo‘lganda ishlatilishi kerak, lekin faqat cheklangan vaqt uchun. Obuna mexanizmi bog‘liq ob'ektlarga talab bo‘yicha yangilanish hodisalarini tinglash va ish vaqtida bu xatti-harakatni o‘zgartirish imkonini beradi. 64 Amalga oshirish qismi uchun biz birja prototipini amalga oshirish uchun Observer dizayn namunasidan foydalanamiz. Qimmatli qog‘ozlar bozorida yuzlab va minglab turli xil aktsiyalar mavjud. Albatta, ularning hammasi ham sizga tegishli emas, shuning uchun siz obuna bo‘lishni va faqat aniqlarini kuzatishni xohlaysiz. Prototip 3 xil aktsiyalarga obuna bo‘lish imkonini beradi - GameStop (GME), Alphabet Inc. aka Google (GOOGL) va Tesla Motors (TSLA). Bundan tashqari, ikki xil obuna turi mavjud: • Standart aksiya obunasi — har bir obuna boʻlgan aksiya oʻzgarishi haqida xabar beradi. • O‘sib borayotgan aktsiya obunasi - faqat o‘sib borayotgan aktsiya o‘zgarishlari haqida xabar beradi. Bunday qimmatli qog‘ozlar kuzatuvchisi Observer dizayn naqshidan foydalangan holda osongina amalga oshirilishi mumkin. Albatta, prototip faqat 3 xil turdagi aktsiyalarni qo‘llab-quvvatlaydi, ammo yangi aktsiya belgilari yoki hatto yangi obuna turlarini keyinchalik mavjud kodga ta'sir qilmasdan osongina qo‘shish mumkin. Keling, avval sinf diagrammasini tekshirib ko‘raylik va keyin naqshni amalga oshiramiz. Mavzuda har qanday miqdordagi qaram kuzatuvchilar bo‘lishi mumkin - bir xildan ko‘pga munosabatlarni yanada moslashuvchan tarzda saqlab qolish g‘oyasi. Quyidagi sinf diagrammasi Observer dizayn namunasini amalga oshirishni ko‘rsatadi: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling