Aspektově orientované programování umožňuje vyjmutí protínajících potřeb do samostatných celků za použití aspektů a návrhový vzor depedendency injection poskytuje způsob jak řešit vzájemné závislosti jednotlivých tříd mezi sebou.
Cílem práce je rozšířit komponentový aplikační rámec CoSi o podporu aspektově orientovaného programování a dále implementovat deklarativní formu registrace a vyhledávání služeb pomocí technik představených v dependency injection.
První polovina práce předkládá teoretický úvod do všech dotčených oblastí a v druhé části práce popisuje implementaci jednotlivých rozšíření společně se zhodnocením jejich přínosu a funkčnosti.
Anotace v angličtině
Aspect-oriented programming allows to remove crosscuting concerns to individual units using aspects. Depedendency injection design pattern provides a way to address interdependence of various classes among themselves.
The goal of this thesis is to extend the CoSi component framework by Aspect-oriented programming support and implement the declarative form of registration and lookup of services using the techniques presented in dependency injection.
The first half of the thesis presents a theoretical introduction to all affected areas and the second part describes the implementation of each extension together with an evaluation of their contribution to the system and their functionality.
Klíčová slova
Komponentový model, IoC, AOP, Java, CoSi, OSGi, jazyky a překladače
Klíčová slova v angličtině
Component model, IoC, AOP, Java, CoSi, OSGi, languages and compilers
Rozsah průvodní práce
100 s.
Jazyk
CZ
Anotace
Aspektově orientované programování umožňuje vyjmutí protínajících potřeb do samostatných celků za použití aspektů a návrhový vzor depedendency injection poskytuje způsob jak řešit vzájemné závislosti jednotlivých tříd mezi sebou.
Cílem práce je rozšířit komponentový aplikační rámec CoSi o podporu aspektově orientovaného programování a dále implementovat deklarativní formu registrace a vyhledávání služeb pomocí technik představených v dependency injection.
První polovina práce předkládá teoretický úvod do všech dotčených oblastí a v druhé části práce popisuje implementaci jednotlivých rozšíření společně se zhodnocením jejich přínosu a funkčnosti.
Anotace v angličtině
Aspect-oriented programming allows to remove crosscuting concerns to individual units using aspects. Depedendency injection design pattern provides a way to address interdependence of various classes among themselves.
The goal of this thesis is to extend the CoSi component framework by Aspect-oriented programming support and implement the declarative form of registration and lookup of services using the techniques presented in dependency injection.
The first half of the thesis presents a theoretical introduction to all affected areas and the second part describes the implementation of each extension together with an evaluation of their contribution to the system and their functionality.
Klíčová slova
Komponentový model, IoC, AOP, Java, CoSi, OSGi, jazyky a překladače
Klíčová slova v angličtině
Component model, IoC, AOP, Java, CoSi, OSGi, languages and compilers
Zásady pro vypracování
Prostudujte oblasti aspektově orientovaného programování (AOP) a přístupu Inversion of Control (IoC).
Seznamte se s komponentovým přístupem k tvorbě aplikací.
Ve spolupráci s vedoucím práce navrhněte způsob rozšíření komponentového modelu CoSi s využitím prvků AOP a IoC.
Vybraná rozšíření implementujte a ověřte jejich funkčnost.
Zásady pro vypracování
Prostudujte oblasti aspektově orientovaného programování (AOP) a přístupu Inversion of Control (IoC).
Seznamte se s komponentovým přístupem k tvorbě aplikací.
Ve spolupráci s vedoucím práce navrhněte způsob rozšíření komponentového modelu CoSi s využitím prvků AOP a IoC.
Vybraná rozšíření implementujte a ověřte jejich funkčnost.