AOP va OOP o'rtasidagi farq

AOP va OOP o'rtasidagi farq
AOP va OOP o'rtasidagi farq

Video: AOP va OOP o'rtasidagi farq

Video: AOP va OOP o'rtasidagi farq
Video: G'azab va mahzunlik o'rtasidagi farq | Ustoz Abdulloh Zufar 2024, Iyul
Anonim

AOP va OOP

AOP (Aspect-oriented programming) va OOP (Object-oriented programming) ikkita dasturlash paradigmasidir. Dasturlash paradigmasi - bu kompyuter dasturlashning asosiy uslubi. Dasturlash paradigmalari dasturlarning har bir elementi qanday tasvirlanganligi va muammolarni hal qilish uchun har bir qadam qanday aniqlanganligi bilan farqlanadi. Nomidan koʻrinib turibdiki, OOP asosiy eʼtiborni real obʼyektlar va ularning xatti-harakatlaridan foydalangan holda muammolarni koʻrsatishga qaratadi, AOP esa dasturlarni oʻzaro bogʻliq masalalarni ajratish bilan shugʻullanadi.

AOP nima?

AOP - bu dasturlash paradigmasi boʻlib, modullikni oshirish uchun dasturni bir nechta sohalarni qamrab oluvchi funksionallikning yaxlit sohalariga (tashvishlar deb ataladi) ajratish bilan shugʻullanadi. Noyob ob'ektlarda tashvishlarni guruhlash va qamrab olish uchun abstraktsiyalarni (masalan, sinflar, usullar va boshqalar) qo'llab-quvvatlash ko'plab boshqa dasturlash paradigmalarida taqdim etiladi. Ammo tashvishlar (masalan, "Jurnalga yozish") o'zaro bog'liq muammolarga misol bo'ladi, chunki tizimning har bir kiritilgan qismi jurnalga yozish uchun ishlatiladigan strategiyaga ta'sir qiladi. Barcha AOP tatbiqlarida asosiy e'tibor barcha tashvishlarni bir joyda yozib olish uchun mos kesma ifodalarga ega bo'lishdir.

OOP nima?

OOPda asosiy e'tibor hal qilinishi kerak bo'lgan muammoni real dunyo elementlari nuqtai nazaridan o'ylashga va muammoni ob'ektlar va ularning xatti-harakatlari nuqtai nazaridan ifodalashga qaratilgan. Sinflar real dunyo ob'ektlarining mavhum tasvirlarini tasvirlaydi. Sinflar o'xshash narsalarni yoki birgalikda guruhlanishi mumkin bo'lgan narsalarni to'playdigan rejalar yoki shablonlarga o'xshaydi. Sinflar atributlar deb ataladigan xususiyatlarga ega. Atributlar global va misol o'zgaruvchilari sifatida amalga oshiriladi. Sinflardagi usullar ushbu sinflarning xatti-harakatlarini ifodalaydi yoki belgilaydi. Sinflarning usullari va atributlari sinf a'zolari deb ataladi. Sinfning namunasi ob'ekt deb ataladi. Shunday qilib, ob'ekt haqiqiy dunyo ob'ektiga juda o'xshash ma'lumotlar strukturasidir.

Ma'lumotlarni abstraktsiyalash, inkapsulyatsiya, polimorfizm, xabar almashish, modullik va meros kabi bir nechta muhim OOP tushunchalari mavjud. Odatda, inkapsulyatsiya atributlarni shaxsiy qilish va shu atributlarga kirish uchun ishlatilishi mumkin bo'lgan umumiy usullarni yaratish orqali erishiladi. Meros foydalanuvchiga sinflarni (sub sinflar deb ataladi) boshqa sinflardan (super sinflar deb ataladi) kengaytirish imkonini beradi. Polimorfizm dasturchiga sinf ob'ektini super sinf ob'ekti o'rniga almashtirishga imkon beradi. Odatda, muammo ta'rifida topilgan otlar to'g'ridan-to'g'ri dasturda sinflarga aylanadi. Va shunga o'xshab, fe'llar usullarga aylanadi. Eng mashhur OOP tillaridan ba'zilari Java va C tillaridir.

AOP va OOP o'rtasidagi farq nima?

OOP va AOP o'rtasidagi asosiy farq shundaki, OOPning asosiy maqsadi dasturlash vazifasini ma'lumotlar va usullarni qamrab oluvchi ob'ektlarga ajratish, AOPning asosiy maqsadi esa dasturni o'zaro bog'liq muammolarga ajratishdir.. Aslida, AOP OOP uchun raqobatchi emas, chunki u OOP paradigmasidan paydo bo'lgan. AOP bir nechta muammolarni hal qilish orqali OOPni kengaytiradi. AOP o'zaro bog'liq muammolarni (tegishli OOP amalga oshirishda bir necha joylarga tarqalgan bo'lishi mumkin) bir joyda amalga oshirishning aniq usullarini taqdim etadi. Shunday qilib, AOP dasturni yanada toza va erkinroq bog'langan qiladi.

Tavsiya: