Arxitektura namunalari yoki me'moriy uslublar ( arxitektura uslublar , arxitektura namunalar ).
Bunday namunalar tizimni yaxlit yoki katta kichik tizimlar sifatida tashkil etishning tipik usullari, komponentlarni tanlash va ular o'rtasidagi o'zaro ta'sirlarni amalga oshirish uchun ba'zi qoidalarni o'rnatishdir.
Loyihalashtirish namunalari ( Loyihalashtirish namunalar ) tor ma'noda.
Ular bitta quyi tizimning tuzilishi yoki ikki yoki uchta komponentning o'zaro ta'sirini tashkil etish bilan bog'liq tez-tez uchraydigan o'rta darajadagi vazifalar uchun odatiy Loyihalashtirish echimlarini belgilaydi.
Idiomalar ( idomalar , dasturlash namunalar ).
Idiomalar dastur kodining elementlarini tartibga solishning ba'zi dasturlash tili usullariga xos bo'lib, yana tez-tez uchraydigan muammolarni hal qilish imkonini beradi.
Namunalar tashkilotlar (tashkiliy namunalar) va namunalar jarayonlar (jarayon namunalari).
Ushbu turdagi misollar dasturiy ta'minotni ishlab chiqish yoki boshqa murakkab tadbirlarni tashkil etish bo'yicha yaxshi amaliyotlarni tavsiflaydi, bu esa mumkin bo'lgan echimlarga cheklovlarni o'z ichiga olgan muayyan kontekstda muayyan vazifalarni hal qilishga imkon beradi.
Namunalarni tavsiflash uchun ma'lum andozalar ishlab chiqilgan. Quyida biz ushbu namunalardan birini me'moriy uslublar, Loyihalashtirish namunalari va idiomalarni tasvirlash uchun ishlatamiz . Ushbu shablon quyidagi elementlarni o'z ichiga oladi :
Namuna nomi, shuningdek, ushbu namuna ishlatiladigan boshqa nomlar.
Maqsad - ushbu namuna yordamida hal qilinadigan vazifalar. Ushbu bandda namuna ishlatilishi mumkin bo'lgan kontekst tavsifi ham mavjud.
Ishlayotgan kuchlar cheklovlar, talablar va yechimga olib keladigan g'oyalardir.
Yechim - foydalanilayotgan yechimning asosiy g'oyalari. Quyidagi kichik bandlarni o'z ichiga oladi:
Struktura - bu namunada ishtirok etuvchi komponentlarning tuzilishi va ular o'rtasidagi munosabatlar. Namuna doirasida komponentlarni undagi rollarga qarab nomlash odat tusiga kiradi.
Dinamika - namunaviy komponentlarning birgalikdagi ishi uchun asosiy stsenariylar.
Amalga oshirish - mumkin bo'lgan amalga oshirish muammolari va ularni bartaraf etish usullari, turli tillardagi kod misollari (bu kursda biz misollar uchun faqat Java dan foydalanamiz ). Ushbu namunani takomillashtirish variantlari va usullari.
Namunadan foydalanish oqibatlari - uning asosida olingan echimlarning qanday qo'shimcha xususiyatlari, afzalliklari va kamchiliklari bor.
Ushbu namunadan foydalanishning ma'lum misollari.
Bu bilan bog'liq boshqa namunalar.
Keyinchalik ushbu ma'ruzada yuqoridagi tasnifga muvofiq ma'lum bo'lgan ba'zi namunalar ko'rib chiqiladi. Muayyan muammolarni hal qilish yo'llarini ko'rib chiqishda keyingi ma'ruzalarda, shuningdek, Java va C # tillari kutubxonalarida boshqa namunalar eslatib o'tiladi.
Tahlil namunalari. Tahlil namunasi - ma'lum bir fan sohasi tushunchalari to'plamini sinflar va ular o'rtasidagi munosabatlar ko'rinishida ifodalash uchun tipik yechim.
Tahlil namunalariga misol sifatida, dasturiy ta'minot tizimida o'lchash va kuzatish ma'lumotlarini taqdim etish bilan bog'liq bo'lgan namunalar guruhini ko'rib chiqing.
Ushbu guruh uchun eng oddiy namuna miqdoriy namunadir . Ko'pgina o'lchovlarning natijalari miqdoriy ifodaga ega, ammo agar ular raqamli turdagi atributlar sifatida taqdim etilsa (bo'yi - 182, vazn - 83), ma'lumotlarning bir qismi yo'qoladi. Tizimning barcha foydalanuvchilari va unga o'zgartirishlar kiritgan ishlab chiquvchilar barcha saqlangan qiymatlar o'lchanadigan birliklarni eslab qolishsa, hamma narsa yaxshi, lekin hech bo'lmaganda kimdir xato qilsa, oqibatlari juda jiddiy bo'lishi mumkin. 1998 yilda bunday xatolik Amerikaning Mars kosmik kemasini o'chirib qo'ydi. Iqlim Orbiter , Mars iqlimini o'rganish uchun mo'ljallangan. Avtomobil harakatining joriy parametrlari haqidagi ma'lumotlar Yerda qabul qilindi, qayta ishlandi va natijada olingan buyruqlar qaytarib yuborildi. Shu bilan birga, apparatdagi harakatni kuzatish va nazorat qilish tartib-qoidalarining o'zi impulsning sekundiga Nton bilan o'lchanadigan kattaligini va Yerdagi ma'lumotlarni qayta ishlash dasturlari - sekundiga funt-kuchdagi impulsning qiymatini qabul qildi. . Natijada, bu rejalashtirilganidan ancha past orbitaga chiqishga, boshqaruvning yo'qolishiga va apparatning o'limiga olib keldi, bu taxminan 130 million dollarga tushdi.
raqamli o'lchov ma'lumotlarini saqlash uchun maxsus sinf ob'ektlaridan foydalanish Miqdor , uning maydonlari nafaqat miqdorning qiymatini, balki uning o'lchov birligini ham saqlaydi. Bundan tashqari, bunday miqdorlarni qo'shish, ayirish va taqqoslash amallarini aniqlash juda foydali.
Guruch. 6.2. Turli birliklarga ega bo'lgan miqdorlarni ifodalash uchun sinf
O'lchovlarga qo'shimcha ravishda, moliyaviy tizimlarda pul mablag'lari uchun bunday vakillikdan foydalanish ham qulay. Bunday holda, turli valyutalar o'lchov birliklarining analogi sifatida ishlaydi. Valyutalar jismoniy miqdorlardan o'zgaruvchan nisbat bilan farqlanadi, ularning yordami bilan ularni biridan ikkinchisiga aylantirish mumkin. Bu munosabatlar vaqtga bog'liq bo'lishi mumkin. Bundan tashqari, jismoniy miqdorlarning o'lchov birliklari mavjud bo'lib, ular ma'lum bir raqamga ko'paytirishdan ko'ra murakkabroq tarzda bir-biriga aylantiriladi - masalan, Farengeyt va Selsiy darajalari.
Ushbu misollar konversiya sxemasi bilan qamrab olinishi mumkin, bu tizimga turli o'lchov birliklarini bir-biriga aylantirish qoidalarini ifodalash imkonini beradi. Ko'pgina transformatsiyalar uchun, ehtimol vaqtga bog'liq bo'lgan birliklar orasidagi nisbatning qiymati etarli, shuning uchun bu nisbatni saqlash uchun sinfni ajratishga arziydi.
Guruch. 6.3. O'lchov birliklari orasidagi mumkin bo'lgan konversiyalarni ifodalash
Turli xil o'lchov birliklari o'rtasidagi munosabatlarning yana bir turi - kuch o'lchash uchun Nyuton (1 N = 1 kg * m / s 2 ) kabi birikma birliklar deb ataladi. Agar biz Unit sinfining ikkita kichik sinfini aniqlasak, bunday munosabatni amalga oshirish mumkin - biri asosiy birliklarni ifodalash uchun, PrimeUnit , ikkinchisi kompozit birliklarni ifodalash uchun, CompoundUnit va bitta kompozit birlikni ikkita multisets bilan taqqoslaydigan ikkita havolani aniqlasak. tub sonlar - unda ijobiy darajalarda ishtirok etadiganlar va salbiy ishtirokchilar.
Guruch. 6.4. Murakkab o'lchov birliklarining ifodalanishi
O'lchov ma'lumotlarini saqlash alohida ahamiyatga ega bo'lgan tibbiyotda o'lchovlar deyarli har doim ular olingan bemor bilan bog'liq. Bundan tashqari, masalan, uzunlik qiymatiga ega bo'lgan juda ko'p tibbiy o'lchovlar mavjud. Ushbu o'lchov atributlarining ikkalasini farqlash uchun - o'lchov ob'ekti va o'lchov turi (masalan, bemor Ivanov Petr Sergeevich va uning bel atrofi ), ular modelga aniq kiritilishi kerak. Shunday qilib namunaviy o'lcham paydo bo'ladi . Ushbu namuna har bir ob'ekt uchun juda ko'p turli xil o'lchovlar mavjud bo'lsa, o'lchanadigan hodisalarning bir nechta turlariga guruhlangan bo'lsa foydali bo'ladi.
Guruch. 6.5. O'lchov natijalarini ifodalash uchun sinflar to'plami
Biroq, ba'zida nafaqat miqdoriy o'lchovlarni, balki natijani raqam bilan emas, balki sanab o'tilgan turdagi (II qon guruhi, uchinchi darajali kuyish) qandaydir qiymat bilan ifodalaydigan sifatli kuzatuvlarni ham hisobga olish kerak. , va boshqalar.). Shu bilan birga, kuzatishlar o'lchovlarga juda o'xshaydi: ular qandaydir ob'ektga murojaat qiladi va kuzatishning qandaydir turi uchun ma'lum bir qiymatni aniqlaydi.
Kuzatishlar va o'lchovlar natijalarini birgalikda taqdim etish uchun siz sinf tuzilishi 6.6-rasmda ko'rsatilgan kuzatish shablonidan foydalanishingiz mumkin. Haqiqiy hayotiy misollarni bu sinflarga tezda ajratish uchun biroz vaqt talab etiladi. Masalan, qon guruhi - bu hodisalar turi, II - bu turdagi hodisa, kuzatish Pyotr Sergeevich Ivanovning aynan shunday qon guruhiga ega ekanligi aniqlangan. Biroq, bu harakatlar ushbu sxemaga o'zgarmasdan mos kelishi mumkin bo'lgan juda ko'p faktlar bilan to'lanadi.
Guruch. 6.6. O'lchovlar va kuzatishlar natijalarini ifodalash uchun sinflar to'plami
Do'stlaringiz bilan baham: |