Разлика между AOP и OOP

Разлика между AOP и OOP
Разлика между AOP и OOP

Видео: Разлика между AOP и OOP

Видео: Разлика между AOP и OOP
Видео: Difference between POP and OOP | POP Vs OOP | Learn Coding 2024, Ноември
Anonim

AOP срещу OOP

AOP (Аспектно-ориентирано програмиране) и OOP (Обектно-ориентирано програмиране) са две програмни парадигми. Парадигмата на програмиране е основен стил на компютърното програмиране. Парадигмите на програмиране се различават по това как е представен всеки елемент от програмите и как е дефинирана всяка стъпка за решаване на проблеми. Както подсказва името, OOP се фокусира върху представянето на проблеми с помощта на обекти от реалния свят и тяхното поведение, докато AOP се занимава с разбиването на програмите, за да отдели междусекторни проблеми.

Какво е AOP?

AOP е програмна парадигма, която се занимава с разбиването на програма в сплотени области на функционалност (наречени проблеми), които пресичат множество области, за да се увеличи модулността. Поддръжка за абстракции (като класове, методи и т.н.) за групиране и капсулиране на проблеми в уникални обекти се предоставя в много други програмни парадигми. Но опасенията (като „Регистриране“) са примери за междусекторни опасения, тъй като всяка регистрирана част от системата е засегната от стратегията, използвана за регистриране. Основният фокус на всички внедрявания на AOP е да има подходящи междусекторни изрази за улавяне на всички проблеми на едно място.

Какво е ООП?

В ООП фокусът е върху мисленето за проблема, който трябва да бъде разрешен от гледна точка на елементи от реалния свят и представянето на проблема от гледна точка на обекти и тяхното поведение. Класовете изобразяват абстрактните изображения на обекти от реалния свят. Класовете са като чертежи или шаблони, които събират подобни елементи или неща, които могат да бъдат групирани заедно. Класовете имат свойства, наречени атрибути. Атрибутите се изпълняват като глобални и инстанционни променливи. Методите в класовете представляват или дефинират поведението на тези класове. Методите и атрибутите на класовете се наричат членове на класа. Екземпляр на клас се нарича обект. Следователно обектът е структура от данни, която много прилича на обект от реалния свят.

Има няколко важни ООП концепции като абстракция на данни, капсулиране, полиморфизъм, съобщения, модулност и наследяване. Обикновено капсулирането се постига чрез превръщане на атрибутите в лични, като същевременно се създават публични методи, които могат да се използват за достъп до тези атрибути. Наследяването позволява на потребителя да разширява класове (наречени подкласове) от други класове (наречени суперкласове). Полиморфизмът позволява на програмиста да замени обект от клас на мястото на обект от неговия супер клас. Обикновено съществителните, намерени в дефиницията на проблема, директно стават класове в програмата. И по подобен начин глаголите стават методи. Някои от най-популярните ООП езици са Java и C.

Каква е разликата между AOP и OOP?

Ключовата разлика между OOP и AOP е, че фокусът на OOP е да разбие програмната задача в обекти, които капсулират данни и методи, докато фокусът на AOP е да разбие програмата до междусекторни проблеми. Всъщност AOP не е конкурент на OOP, тъй като произлиза от парадигмата на OOP. AOP разширява OOP, като адресира някои от неговите проблеми. AOP въвежда спретнати начини за прилагане на междусекторни проблеми (които може да са били разпръснати на няколко места в съответното OOP изпълнение) на едно място. Следователно AOP прави програмата по-чиста и по-свободно свързана.

Препоръчано: