|
Dasturiy ta’minot arxitekturasi modellari haqida to’liq ma’lumot, har bir modelni o’rganib o’zizingiz fikringizni to’liq bayon qiling
|
bet | 1/4 | Sana | 31.05.2024 | Hajmi | 220,14 Kb. | | #258717 |
Bog'liq 4-det ali arxitek
FIO: Mamadaliyev Muhammadali
Guruh: 653-21
Loyiha nomi: Avtomobil Saloni Ilovasi
Dasturiy ta’minot arxitekturasi modellari haqida to’liq ma’lumot, har bir modelni o’rganib o’zizingiz fikringizni to’liq bayon qiling.
Dasturiy ta'minot arxitekturasi - bu tuzilma bo'lib, uning asosida dastur yaratiladi va butun dasturning modullari va komponentlari o'zaro ta'sir qiladi. Dasturchilar juda uzoq vaqt davomida yaxshi arxitektura yaratishga harakat qilishgan, shuning uchun biz hozirda ko'plab me'moriy naqshlarni bilganimiz ajablanarli emas. Siz ularni tushunishingiz kerak: veb-ilovani yozishda arxitektura muammosi keskinlashadi, chunki unda oddiy dasturga qaraganda ko'proq komponentlar va modullar mavjud. Arxitektura namunasi dasturiy ta'minotni loyihalashda ba'zi muammolarni hal qilishning allaqachon o'ylangan usulidir. Ehtimol, siz allaqachon zavod usuli, abstrakt zavod, quruvchi, prototip, Singleton va ehtimol boshqalar kabi dizayn naqshlariga duch kelgansiz. Ular oddiygina kod yozish, sinflar yaratish va ularning o'zaro ta'sirini rejalashtirish uchun ishlatiladi. Arxitektura naqshlari abstraktsiyaning yuqori darajasida - dastur foydalanuvchisining server, ma'lumotlar va loyihaning boshqa komponentlari bilan o'zaro ta'sirini rejalashtirishda qo'llaniladi. Keling, ba'zi shablonlarni va ulardan qanday foydalanishni qisqacha ko'rib chiqaylik.
Mijoz-server arxitekturasi
Nomidan odam bu mavzudagi hamma narsa sodda va tushunarli degan taassurot paydo bo'ladi. Ammo shartli Bahorni o'rganishni boshlaganingizda, biz nima haqida gapirayotganimizni aniq tushunishingiz uchun ba'zi fikrlarga aniqlik kiritaylik. Aytaylik, siz chat yozdingiz va siz va do'stingiz undan foydalanishni boshlaysiz. Bu erda oddiy variant mavjud - siz o'zingiz bilgan IP-manzillardan foydalangan holda to'g'ridan-to'g'ri Internet orqali bir-biringizga xabar yuborasiz: Avvaliga hamma narsa yaxshi ishlayotgandek tuyulishi mumkin, toki sizning boshqa do'stingiz: "Nega bunday qilmayapsiz?" Siz meni chatingizga qo'shmaysizmi? Va suhbatga umumiy do'st qo'shishga qaror qilganingizda, siz arxitektura muammosiga duch kelasiz: har bir chat foydalanuvchisi foydalanuvchilar soni haqidagi ma'lumotlarni yangilashi, yangi foydalanuvchining IP-manzilini qo'shishi kerak. Va xabar yuborayotganda, u barcha ishtirokchilarga etkazilishi kerak. Bu paydo bo'ladigan eng aniq muammolar. Kodning o'zida yana ko'p muammolar yashirin bo'ladi. Ularning oldini olish uchun siz foydalanuvchilar haqidagi barcha ma'lumotlarni saqlaydigan va ularning manzillarini biladigan serverdan foydalanishingiz kerak . Xabar faqat serverga yuborilishi kerak bo'ladi.
Server turli foydalanuvchilarning ko'p sonli so'rovlarini qayta ishlashga qodir. Ya'ni, mijozlar ko'p bo'lishi mumkin va agar ular bir-biri bilan ma'lumot almashishi kerak bo'lsa, bu server orqali amalga oshirilishi kerak. Shunday qilib, server yana bir qo'shimcha funktsiyani oladi - trafikni boshqarish. Agar biz yaratgan ko'p foydalanuvchili chat haqida gapiradigan bo'lsak, butun dastur kodi ikkita moduldan iborat bo'ladi:
mijoz - avtorizatsiya qilish, xabarlarni jo'natish/qabul qilish uchun grafik interfeysni o'z ichiga oladi;
server tomoni - serverda joylashgan va foydalanuvchilardan xabarlarni qabul qiladigan, ularni qayta ishlaydigan va keyin ularni qabul qiluvchilarga yuboradigan veb-ilova.
Internetda foydali (yoki unchalik foydali bo'lmagan) ma'lumotlarni ko'rib chiqmoqchi bo'lganimizda, biz brauzerni ochamiz, qidiruv satriga so'rov kiritamiz va javob sifatida biz qidiruv tizimidan ma'lumot olamiz. Ushbu zanjirda brauzer bizning mijozimizdir. U biz qidirayotganimiz haqidagi ma'lumot bilan serverga so'rov yuboradi. Server so'rovni qayta ishlaydi, eng mos natijalarni topadi, ularni brauzer (mijoz) uchun tushunarli formatda paketlaydi va ularni qaytarib yuboradi. Qidiruv tizimlari kabi murakkab xizmatlarda ko'plab serverlar bo'lishi mumkin. Masalan, avtorizatsiya serveri, ma'lumot qidirish serveri, javobni yaratish serveri. Ammo mijoz bu haqda hech narsa bilmaydi: uning uchun server birlashtirilgan narsadir. Mijoz faqat kirish nuqtasi, ya'ni so'rov yuborishi kerak bo'lgan server manzili haqida biladi. Oldingi qismda ko'rib chiqqan dasturni eslaylik - real vaqt rejimida barcha mamlakatlardagi o'rtacha havo haroratini kuzatish uchun. Uning arxitekturasi quyidagicha ko'rinadi: Bizning ilovamiz serverda joylashgan. Aytaylik, u har besh soniyada mahalliy gidrometeorologiya markazlari serverlariga so‘rovlar yuboradi, ulardan ma’lum bir mamlakatdagi havo harorati haqida ma’lumot oladi va bu ma’lumotlarni saqlaydi. Mijoz bizga “dunyodagi joriy havo haroratini koʻrish” soʻrovi bilan murojaat qilganda, biz eng soʻnggi saqlangan maʼlumotlarni mamlakat boʻyicha saralab beramiz. Shunday qilib, bizning ilovamiz ham server (foydalanuvchi so'rovlarini qayta ishlaganda) va mijoz (boshqa serverlardan ma'lumot olganida) hisoblanadi.
Muhim: server tushunchasi ma'lum bir kompyuter haqida emas, balki tarmoq abonentlari o'rtasidagi munosabatlar haqida .
|
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Dasturiy ta’minot arxitekturasi modellari haqida to’liq ma’lumot, har bir modelni o’rganib o’zizingiz fikringizni to’liq bayon qiling
|