AOP жана OOP ортосундагы айырма

AOP жана OOP ортосундагы айырма
AOP жана OOP ортосундагы айырма

Video: AOP жана OOP ортосундагы айырма

Video: AOP жана OOP ортосундагы айырма
Video: Как писать аспекты с помощью Spring AOP [Путь к Spring AOP — Часть 1] 2024, Июль
Anonim

AOP крш OOP

AOP (Аспектке багытталган программалоо) жана OOP (Объектке багытталган программалоо) эки программалоо парадигмасы. Программалоо парадигмасы – бул компьютердик программалоонун негизги стили. Программалоо парадигмалары программалардын ар бир элементи кандайча чагылдырылганы жана ар бир кадам маселелерди чечүү үчүн кандайча аныкталгандыгы менен айырмаланат. Аты айтып тургандай, 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 программаны таза жана эркин бириктирет.

Сунушталууда: