OYDning ijobiy va salbiy tomonlari
Obyektga asoslangan dasturlashning ko'p
afzalliklari bor, shuning uchun
ko'pchilik zamonaviy dasturchilar bu yondashuvdan foydalanadilar.
1)
Kod vizual jihatdan sodda va o'qish osonroq. Hamma narsa obyektlarga
bo'linib, ular aniq qoidalar to'plamiga ega bo'lganda, siz har bir obyekt nima uchun
javobgar ekanligini va nimadan iboratligini darhol tushunishingiz mumkin.
2)
Kamroq bir xil kod. Agar oddiy dasturlashda bitta funksiya bir o'lchovli
massivda, ikkinchisi ikki o'lchovli massivda takrorlanadigan
belgilarni hisoblasa,
ularning kodlarining aksariyati bir xil bo'ladi. OYDda bu meros orqali hal qilinadi.
3)
Murakkab dasturlarni yozish osonroq. Har bir katta dasturni bir nechta
bloklarga ajratish mumkin, uni minimal to'ldirishga
aylantirish, so'ngra har bir
blokni qayta-qayta batafsil to'ldirish mumkin.
4)
Yozish tezligi oshadi. Dastlab, siz minimal ishchi prototipini olish uchun
dastur ichida kerakli komponentlarni tezda yaratishingiz mumkin.
Kamchiliklari:
1)
Buni tushunish va boshlash qiyin. OYD yondashuvi oddiy protsedurali
dasturlashdan ko'ra ancha murakkab - bitta satr kod yozilishidan oldin siz ko'p
nazariyalarni bilishingiz kerak.
2)
Ko'proq xotira talab qilinadi. OYD obyektlari ma'lumotlar, interfeyslar,
usullar va boshqalardan iborat bo'lib, bu oddiy o'zgaruvchiga qaraganda ancha ko'p
xotirani oladi.
3)
Ba'zida kodning ishlashi past bo'ladi. Yondashuvning o'ziga xos
xususiyatlaridan kelib chiqqan holda, ba'zi narsalarni amalga oshirish qiyinroq
bo'lishi mumkin.
Shunday qilib, OYD dasturi protsedurali dasturga qaraganda
sekinroq ishlaydi (garchi zamonaviy protsessor imkoniyatlari keng bo'lsa ham, bu
ham kichik muammolarni keltirib chiqaradi).
OYD (obyektga yo'naltirilgan dasturlash) ko'plab zamonaviy loyihalarni
ishlab chiqishning ajralmas qismiga aylandi,
lekin mashhurligiga qaramay, bu
paradigma yagona loyihadan uzoqdir.
Obyektga yo'naltirilgan g’oya obyektning xatti-harakatlarini uning
ma'lumotlari bilan bog'lash va real dunyo obyektlarini va biznes jarayonlarini dastur
kodiga loyihalashtirishga urinish sifatida ishlab chiqilgan. Odamga bunday kodni
o'qish va tushunish osonroq deb o'ylashdi, chunki odamlar o'zlarini atrofidagi
dunyoni ma'lum tasnifga mos keladigan o'zaro ta'sir qiladigan obyektlar majmuasi
sifatida qabul qilishga moyil. Ushbu g’oyani ilgari
surganlar maqsadga erisha
oldimi, degan savolga aniq javob berish qiyin, lekin aslida bizda dasturchidan OYD
talab qilinadigan ko'plab loyihalar mavjud.
Ba'zida siz OYD dasturlarining ishlashini tanqid qilishingiz mumkin. To'g'ri,
ozgina qo'shimcha xarajatlar bor, lekin shunchalik kichikki, aksariyat hollarda uni
afzalliklar foydasiga e'tiborsiz qoldirish mumkin. Shunga qaramay, sekundiga
millionlab obyektlar bitta satrda yaratilishi yoki qayta ishlanishi kerak bo'lgan
to'siqlarda, hech bo'lmaganda OYDga bo'lgan ehtiyojni qayta ko'rib chiqishga
arziydi, chunki bunday miqdordagi minimal xarajatlar ham ishlashga sezilarli ta'sir
ko'rsatishi mumkin. Profillash sizga farqni aniqlashga
va qaror qabul qilishga
yordam beradi. Boshqa hollarda, aytaylik, ishning ulushi kiritish-chiqarish bilan
cheklangan bo'lsa, obyektlardan voz kechish erta optimallashtirish bo'ladi.