ఆస్పెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్

వికీపీడియా నుండి
Jump to navigation Jump to search

ఆస్పెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ లేదా ఎ.ఓ.పి కంప్యూటర్ పరిభాషలో ఒక ప్రోగ్రామింగ్ విధానము. దీనిని కారక-ఆధారిత ప్రోగ్రామింగ్ (ఆస్పెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్, AOP, ప్రోగ్రామింగ్ కారక-ఆధారిత, ప్రొఫైల్-ఆధారిత ప్రోగ్రామింగ్ అని కూడా అనువదించబడింది ) అనేది కంప్యూటర్ సైన్స్ ప్రోగ్రామింగ్ ఉదాహరణ యొక్క మాధ్యమం[1], ఇది ప్రధాన వ్యాపారంతో మరింత సమస్యలను తగ్గించే లక్ష్యంతో ఉంది ప్రోగ్రామ్ కోడ్ యొక్క మాడ్యులారిటీ స్థాయిని మెరుగుపరచడానికి వేరు. ఇప్పటికే ఉన్న కోడ్ ఆధారంగా అదనపు సలహా (సలహా) యంత్రాంగాన్ని జోడించడం ద్వారా, " పాయింట్‌కట్స్ "గా ప్రకటించబడిన కోడ్ బ్లాక్‌లను "సెట్ *"తో ప్రారంభమయ్యే అన్ని పద్ధతి పేర్లు వంటి ఏకీకృత పద్ధతిలో నిర్వహించవచ్చు. వివిధ అప్లికేషన్లలో అందరూ పంచుకునే కొన్ని సాధారణ విధులను వేరు చేయడానికి దీనిని వాడుతారు. కొత్తగా వస్తున్న దాదాపు అన్ని వెబ్ ఆధారిత భాషలన్నీ ఈ విధానాన్ని మద్దతు ఇస్తున్నాయి.డెవలపర్‌లను వ్యాపార కోడ్ యొక్క రీడబిలిటీని తగ్గించకుండా కోడ్ యొక్క ప్రధాన వ్యాపార తర్కానికి (లాగింగ్ ఫంక్షన్లు వంటివి) అంతగా సంబంధం లేని ఫంక్షన్లను ప్రోగ్రామ్‌కు జోడించడానికి అనుమతిస్తుంది.

AOP యొక్క భావనను జిరాక్స్ PARC లో గ్రెగర్ కిక్జాలెస్, అతని బృందం అభివృద్ధి చేసింది . 2001 లో, మొదటి AOP భాష AspectJ కూడా అక్కడ అభివృద్ధి చేయబడినది[2].

విధానపరమైన ప్రోగ్రామింగ్, ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ వంటి పాత ప్రోగ్రామింగ్ నమూనాలు ప్రత్యేకమైన ఎంటిటీల ద్వారా కోడ్ విభజనను అమలు చేస్తాయి. ఉదాహరణకు, డేటా లాగ్ ఫైల్‌లో ఈవెంట్ లాగింగ్ కార్యాచరణ, ఆబ్జెక్ట్-ఓరియెంటెడ్ భాషలో, ఒకే తరగతిలో అమలు చేయబడుతుంది, ఇది డేటాను లాగ్ చేయడానికి అవసరమైన అన్ని పాయింట్ల వద్ద సూచించబడుతుంది. ఆచరణాత్మకంగా ప్రతి పద్ధతికి కొంత డేటా లాగిన్ కావాలి కాబట్టి, ఈ తరగతికి కాల్స్ అప్లికేషన్ అంతటా వ్యాపించాయి.

సాధారణంగా POA యొక్క అమలు "కారకాలు" అనే కొత్త నిర్మాణం ద్వారా ఈ కాల్‌లను జతచేయడానికి ప్రయత్నిస్తుంది. "ఎగ్జిక్యూషన్ పాయింట్" గురించి అదనపు ప్రవర్తన, సలహా, లేదా చేరడం ద్వారా కోడ్ యొక్క ప్రవర్తనను (ప్రోగ్రామ్ యొక్క నాన్-కారక-ఆధారిత భాగం) మార్చవచ్చు . ఇది విధానపరమైన, నిర్మాణాత్మక, ఆబ్జెక్ట్ ఓరియెంటెడ్ ప్రోగ్రామింగ్ (OOP) వంటి ఇతర సాఫ్ట్ వేర్ విధానాల ద్వారా సరిగ్గా పరిష్కరించబడని మాడ్యులారిటీ సమస్యలను పరిష్కరించడంలో సహాయపడుతుంది. ఇవి మునుపెన్నడూ లేని విధంగా నియంత్రణ, సరళత్వంతో అధిక సెమాంటిక్ స్థాయిలో సాఫ్ట్ వేర్ యొక్క అభివృద్ధి, పరిణామాన్ని ఎనేబుల్ చేయవచ్చు.[3]

ముఖ్య భాగాలు[మార్చు]

  • అడ్వైజ్
  • జాయింట్ పాయింట్
  • పాయింట్ కట్
  • ప్రాక్సీ

ఇవికూడా చూడండి[మార్చు]

బయటి లంకెలు[మార్చు]

  1. "What is Aspect-Oriented Software Development (AOSD)? - Definition from Techopedia". Techopedia.com (in ఇంగ్లీష్). Retrieved 2020-08-28.
  2. "Early Definition of Aspect-Oriented Programming". www2.ccs.neu.edu. Retrieved 2020-08-28.
  3. Sutton, Stanley M. (2006). Li, Mingshu; Boehm, Barry; Osterweil, Leon J. (eds.). "Aspect-Oriented Software Development and Software Process". Unifying the Software Process Spectrum. Lecture Notes in Computer Science (in ఇంగ్లీష్). Berlin, Heidelberg: Springer: 177–191. doi:10.1007/11608035_17. ISBN 978-3-540-32450-8.