AOP және OOP арасындағы айырмашылық

AOP және OOP арасындағы айырмашылық
AOP және OOP арасындағы айырмашылық

Бейне: AOP және OOP арасындағы айырмашылық

Бейне: AOP және OOP арасындағы айырмашылық
Бейне: Көктемгі AOP көмегімен аспектілерді қалай жазуға болады [Көктемгі AOP саяхаты - 1 бөлім] 2024, Шілде
Anonim

AOP және OOP

AOP (Aspect-oriented programming) және OOP (Object-oriented programming) екі бағдарламалау парадигмасы болып табылады. Бағдарламалау парадигмасы - компьютерлік бағдарламалаудың негізгі стилі. Бағдарламалау парадигмалары бағдарламалардың әрбір элементі қалай ұсынылатынымен және есептерді шешу үшін әрбір қадам қалай анықталғанымен ерекшеленеді. Аты айтып тұрғандай, OOP нақты әлемдегі нысандарды және олардың мінез-құлқын пайдалану арқылы проблемаларды көрсетуге назар аударады, ал AOP қиылысу мәселелерін бөлу үшін бағдарламаларды бөлумен айналысады.

AOP дегеніміз не?

AOP – модульді арттыру үшін бағдарламаны бірнеше аумақтарды кесетін функционалдылықтың біртұтас аймақтарына (мәселелер деп аталады) бөлумен айналысатын бағдарламалау парадигмасы. Мәселелерді бірегей нысандарға топтастыру және инкапсуляциялау үшін абстракцияларды (мысалы, сыныптар, әдістер және т.б.) қолдау көптеген басқа бағдарламалау парадигмаларында қамтамасыз етілген. Бірақ алаңдаушылықтар («Журналау» сияқты) қиылысу мәселелерінің мысалдары болып табылады, себебі жүйенің әрбір тіркелген бөлігі журналға тіркеу үшін пайдаланылатын стратегия әсер етеді. Барлық AOP енгізулерінің басты мақсаты - барлық алаңдаушылықтарды бір жерде түсіру үшін сәйкес қиылысатын өрнектерге ие болу.

OOP дегеніміз не?

OOP-те басты назар нақты әлем элементтері тұрғысынан шешілетін мәселе туралы ойлауға және мәселені нысандар мен олардың мінез-құлқы тұрғысынан көрсетуге бағытталған. Класстар нақты дүние объектілерінің абстрактілі бейнелерін бейнелейді. Сыныптар ұқсас элементтерді немесе біріктіруге болатын заттарды жинайтын сызбалар немесе үлгілер сияқты. Сыныптарда атрибуттар деп аталатын қасиеттер болады. Атрибуттар жаһандық және даналық айнымалылар ретінде жүзеге асырылады. Сыныптардағы әдістер осы сыныптардың әрекетін көрсетеді немесе анықтайды. Класстардың әдістері мен атрибуттары класс мүшелері деп аталады. Класс данасы объект деп аталады. Демек, нысан нақты дүниедегі кейбір нысанға өте ұқсас деректер құрылымы болып табылады.

Деректерді абстракциялау, инкапсуляция, полиморфизм, хабар алмасу, модульдік және мұрагерлік сияқты бірнеше маңызды OOP тұжырымдамалары бар. Әдетте, инкапсуляция атрибуттарды жеке ету арқылы, сол атрибуттарға қол жеткізу үшін пайдаланылатын жалпы әдістерді жасау арқылы қол жеткізіледі. Мұрагерлік пайдаланушыға сыныптарды (ішкі сыныптар деп аталатын) басқа сыныптардан (супер сыныптар деп аталады) кеңейтуге мүмкіндік береді. Полиморфизм программалаушыға оның супер класс объектісінің орнына класс объектісін ауыстыруға мүмкіндік береді. Әдетте мәселенің анықтамасында кездесетін зат есімдер бағдарламада тікелей сыныптарға айналады. Сол сияқты етістіктер тәсілдерге айналады. Ең танымал OOP тілдерінің кейбірі Java және C болып табылады.

AOP және OOP арасындағы айырмашылық неде?

OOP пен AOP арасындағы негізгі айырмашылық мынада: OOP фокусы бағдарламалау тапсырмасын деректер мен әдістерді қамтитын нысандарға бөлу болып табылады, ал AOP фокусы бағдарламаны қиылысатын мәселелерге бөлу болып табылады.. Шындығында, AOP OOP үшін бәсекелес емес, өйткені ол OOP парадигмасынан пайда болды. AOP оның бірнеше мәселелерін шешу арқылы OOP кеңейтеді. AOP бір жерде қиылысу мәселелерін (олар тиісті OOP енгізуінде бірнеше жерге шашыраңқы болуы мүмкін) жүзеге асырудың ұқыпты жолдарын ұсынады. Сондықтан AOP бағдарламаны таза және еркін біріктірілген етеді.

Ұсынылған: