Form of studies |
Bachelor |
Title of the study programm |
Computer Systems |
Title in original language |
AOP izmantošana tīmekļa lietotņu izstrādē |
Title in English |
Use of AOP in Web Applications Development |
Department |
Faculty Of Computer Science Information Tehnology And Energy |
Scientific advisor |
Larisa Zaiceva |
Reviewer |
Jekaterina Bule, Dr.sc.ing., EDICOM CAPITAL, S.L., EDI Consultant |
Abstract |
Programmatūra paliek arvien lielāka un sarežģītāka un līdz ar to daudz svarīgāka paliek arī tās izejas koda modularitāte. Visplašāk izmantotā programmēšanas paradigma – objektorientētā programmēšana – ir izcila koda strukturēšanas metode, un tomēr tajā trūkst instrumentu transversālo uzdevumu nošķiršanai moduļos. Ja tādu uzdevumu ir daudz, tas noved pie koda sliktas izsekojamības, zemākas atkārtotas lietojamības, programmētāju zemākas produktivitātes un citām problēmām. Šīs problēmas var atrisināt, izmantojot aspektorientēto programmēšanu (AOP). Tā ļauj nošķirt transversālos uzdevumus moduļos. Tajā pašā laikā tā nav bieži lietota tehnoloģija.
Bakalaura darba mērķis ir izpētīt aspektorientētās programmēšanas iespējas un aplūkot AOP satvaru AspectJ, kā arī pielietot to tīmekļa lietotnes izstrādē un novērtēt izstrādātās lietotnes ātrumu.
Bakalaura darbā ir apskatīts modularitātes jēdziens, tās pozitīvās īpašības un gadījumi, kad objektorientētā programmēšana (OOP) nevar nodrošināt modularitāti. Aplūkotas tehnikas un pieejas transversālo uzdevumu implementēšanai OOP paradigmā un noteikti šo tehniku izmantošanas trūkumi. Apskatīti aspektorientētās programmēšanas fundamentālie koncepti un problēmas, kuras tā atrisina, kā arī ar vairākiem piemēriem valoda AspectJ. Aprakstīta tīmekļa lietotnes izstrāde, lietojot satvaru, novērtēti ieguvumi AOP izmantošanas rezultātā un kā AOP ietekmē kompilācijas laiku. |
Keywords |
aspektorientētā programmēšana, modularitāte, AspectJ, transversāli uzdevumi |
Keywords in English |
aspect-oriented programming, modularity, AspectJ, cross-cutting concerns |
Language |
lv |
Year |
2020 |
Date and time of uploading |
19.06.2020 13:48:48 |