ob'ektlari bilan ifodalanadi, ular barcha sanalarni qandaydir mustaqil tasvirga
aylantirish uchun javobgardir. Vaqt va sananing qatorli tasvirini yaratish uchun
java.text.SimpleDateFormat sinfidan foydalaniladi, chunki istalgan tasvirlash
taqvim tizimiga qo'shimcha ravishda yil, oy va oyning sanasini ro'yxatga olishning
boshqacha tartibiga ega bo'lishi mumkin. turli sana elementlarini ko'rsatish uchun
ajratilgan turli xil belgilar soni (masalan, "22:32:00, 2005 yil 15 iyun" va "05.06.15,
22:32"). Mas'uliyatni ajratish printsipi bir nechta muhim maxsus holatlarga ega.
Siyosat va algoritmlarni ajratish.
Ushbu printsip doimiy, o'zgarmas
ma'lumotlarni qayta ishlash algoritmlarini ularning o'zgaruvchan qismlaridan
ajratish va
siyosat deb ataladigan ushbu qismlarni
umumiy algoritm parametrlariga
ajratish uchun ishlatiladi. Misol uchun, sana va vaqt qatori tasviri formatini
belgilaydigan siyosat java.text.SimpleDateFormat sinfining ob'ekti yaratilganda
format qatori sifatida ko'rsatiladi. Ushbu tasvirni yaratish uchun xuddi shunday
algoritm ushbu format qatoriga va vaqt va sanaga asoslanadi. Yana bir misol. Mijoz
uchun tovarlarning narxi mijozning imtiyozlariga, u sotib oladigan lotning hajmiga
va mavsumiy chegirmalarga bog'liq bo'lishi mumkin. Ro'yxatdagi barcha
elementlarni siyosat sifatida aniqlash mumkin, ular tovarlarning asosiy narxi bilan
birgalikda umumiy xarajatlarni hisoblash algoritmi uchun kirish ma'lumotlari
hisoblanadi.
Interfeysni ajratish va amalga oshirish.
Ushbu printsip modulning tashqi
ko'rinadigan tuzilishini, u hal qiladigan vazifalar tavsifini ushbu muammolarni hal
qilish usullaridan ajratishda qo'llaniladi. Bunday ajratishga misol sifatida
java.util.List
mavhum ro'yxat interfeysini ushbu interfeysning ko'plab mumkin
bo'lgan
ilovalaridan
ajratish
mumkin,
masalan,
java.util.ArrayList,
java.util.LinkedList. Ushbu sinflarning birinchisi massivga asoslangan ro'yxatni
amalga oshiradi, ikkinchisi esa mos yozuvlar ma'lumotlar strukturasini amalga
oshiradi.
Modullarning zaif ulanishi (ulanish) va bir moduldagi funktsiyalarning kuchli
yaqinligi (uyushishi).
Bu ikkala printsip ham katta tizimda modullarni ajratish uchun
ishlatiladi va modullar o'rtasidagi mas'uliyatni taqsimlash bilan chambarchas
bog'liq. Birinchisi, modullar o'rtasida iloji boricha kamroq bog'liqliklar bo'lishini
talab qiladi. Tizimdagi boshqa modullarning ko'pchiligiga bog'liq bo'lgan modul
qayta ishlab chiqilishi kerak, ya'ni u juda ko'p narsalarni qiladi. Aksincha, bitta
modul tomonidan bajariladigan funktsiyalarning "yaqinligi" imkon qadar yuqori
bo'lishi kerak. Kod darajasida bu "yaqinlik" ning sabablari boshqacha bo'lishi
mumkin bo'lsa-da - bir xil ma'lumotlar bilan ishlash, bir-birining ishiga qarab,
parallel bajarish vaqtida sinxronizatsiya zarurati va boshqalar - ularni ajratish narxi
ancha yuqori bo'lishi kerak. Eng muhimi, bu funktsiyalar bir-biri bilan chambarchas
bog'liq vazifalarni hal qiladi. Masalan, standart chiqishga satr yuboradigan navbat
interfeysiga
Do'stlaringiz bilan baham: