Mavzu: Model-View-Controller shabloni


MVC ilovalari uchun dizayn ko'rsatmalar



Download 47,11 Kb.
bet5/6
Sana10.07.2022
Hajmi47,11 Kb.
#772877
1   2   3   4   5   6
Bog'liq
Model

MVC ilovalari uchun dizayn ko'rsatmalar
Ilovalarni loyihalashda Model-View-Controller mulohazalari uchun quyidagi ko'rsatmalar qo'llaniladi:
Vositachi boshqaruvchi sifatida NSObject ning maxsus quyi sinfi namunasidan foydalanishingiz mumkin bo'lsa-da, uni bitta qilish uchun zarur bo'lgan barcha ishlarni bajarish uchun hech qanday sabab yo'q. Buning o'rniga kakao bog'lash texnologiyasi uchun mo'ljallangan tayyor NSController obyektlaridan birini ishlating; ya'ni NSObjectController, NSArrayController, NSUserDefaultsController yoki NSTreeController misolidan yoki ushbu aniq NSController quyi sinflaridan birining maxsus quyi sinfidan foydalaning.
Biroq, agar dastur juda sodda bo'lsa va siz rozetkalar va maqsadli harakatlar yordamida vositachilik xatti-harakatini amalga oshirish uchun zarur bo'lgan elim kodini yozishni qulayroq his qilsangiz, vositachi boshqaruvchi sifatida maxsus NSObject kichik sinfining namunasidan foydalaning. Maxsus NSObject kichik sinfida siz kalit-qiymatni kodlash, kalit-qiymatni kuzatish va tahrirlovchi protokollaridan foydalangan holda NSController ma'nosida vositachi boshqaruvchini ham amalga oshirishingiz mumkin.
MVC rollarini ob'ektda birlashtira olsangiz ham, eng yaxshi umumiy strategiya rollar orasidagi farqni saqlashdir. Bu ajratish ob'ektlarning qayta foydalanish imkoniyatini va ular qo'llaniladigan dasturning kengaytirilishini oshiradi. Agar siz sinfdagi MVC rollarini birlashtirmoqchi bo'lsangiz, o'sha sinf uchun asosiy rolni tanlang va keyin (xizmat ko'rsatish maqsadida) bir xildagi toifalardan foydalaning. Boshqa rollarni o'ynash uchun sinfni kengaytirish uchun dastur fayli.
Yaxshi ishlab chiqilgan MVC ilovasining maqsadi (nazariy jihatdan, hech bo'lmaganda) qayta foydalanish mumkin bo'lgan imkon qadar ko'proq ob'ektlardan foydalanish bo'lishi kerak. Xususan, ko'rish ob'ektlari va model ob'ektlari yuqori darajada qayta foydalanishga yaroqli bo'lishi kerak. (Tayyor vositachi boshqaruvchi ob'ektlari, albatta, qayta foydalanish mumkin.) Ilovaga xos xatti-harakatlar tez-tez kontroller ob'ektlarida imkon qadar ko'proq to'planadi.
Holatdagi o'zgarishlarni aniqlash uchun modellarni to'g'ridan-to'g'ri kuzatish mumkin bo'lsa-da, buni qilmaslik yaxshiroqdir. Ko'rish ob'ekti model ob'ektidagi o'zgarishlar haqida bilish uchun har doim vositachi boshqaruvchi ob'ektidan o'tishi kerak. Buning sababi ikki xil:
Ob'ektlarni to'g'ridan-to'g'ri model ob'ektlarining xususiyatlarini kuzatish uchun bog'lash mexanizmidan foydalansangiz, siz NSController va uning quyi sinflari ilovangizga beradigan barcha afzalliklarni chetlab o'tasiz: tanlash va to'ldiruvchini boshqarish, shuningdek o'zgarishlarni amalga oshirish va bekor qilish qobiliyati.
Agar siz bog'lash mexanizmidan foydalanmasangiz, model ob'ekti tomonidan e'lon qilingan o'zgartirish bildirishnomalarini kuzatish qobiliyatini qo'shish uchun mavjud ko'rinish sinfini pastki sinfga kiritishingiz kerak.
Ilovangiz sinflarida kodga bog'liqlikni cheklashga harakat qiling. Sinfning boshqa sinfga bog'liqligi qanchalik katta bo'lsa, uni qayta ishlatish shunchalik kam bo'ladi. Maxsus tavsiyalar ikkita sinfning MVC rollariga qarab farqlanadi:
Ko'rish klassi model sinfiga bog'liq bo'lmasligi kerak (garchi ba'zi maxsus ko'rinishlarda bu muqarrar bo'lishi mumkin).
Ko'rish sinfi vositachi boshqaruvchi sinfiga bog'liq bo'lmasligi kerak.
Model sinfi boshqa model sinflaridan boshqa hech narsaga bog'liq bo'lmasligi kerak.
Vositachi boshqaruvchi klassi model sinfiga bog'liq bo'lmasligi kerak (garchi ko'rinishlar kabi, bu maxsus kontroller sinfi bo'lsa kerak bo'lishi mumkin).
Vositachi nazoratchi sinfi ko'rish sinflariga yoki nazoratchi sinflarini muvofiqlashtirishga bog'liq bo'lmasligi kerak.
Muvofiqlashtiruvchi kontroller klassi barcha MVC rol turlarining sinflariga bog'liq.
Agar Cocoa dasturlash muammosini hal qiladigan arxitekturani taklif qilsa va bu arxitektura ma'lum turdagi ob'ektlarga MVC rollarini tayinlasa, ushbu arxitekturadan foydalaning. Agar shunday qilsangiz, loyihangizni birlashtirish ancha oson bo'ladi. Hujjat arxitekturasi, masalan, NSDocument ob'ektini (har bir nib modeli boshqaruvchisi) Fayl egasi sifatida sozlaydigan Xcode loyihasi shablonini o'z ichiga oladi.

Download 47,11 Kb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish