Aplikace funkcionálního programování ve vývoji podnikových aplikací
Applications of functional programming in the development of enterprise applications
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Hanuš Jan
Vedoucí práce
Daněček Jiří
Oponent práce
Máj Petr
Studijní obor
Softwarové inženýrstvíStudijní program
InformatikaInstituce přidělující hodnost
katedra softwarového inženýrstvíObhájeno
2018-06-19Práva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Cílem práce je vytvořit přehled funkcionálních principů v kontextu vývoje podnikových aplikací. Teoretická část se zaměřuje na popis obecných funkcionálních principů i jejich dopadů na kvalitu aplikace, věnuje se také problematice měnného stavu a referenční transparentnosti v návaznosti na zjednodušení čitelnosti, udržovatelnosti, škálovatelnosti a testování aplikace. Tato část se rovněž zabývá možnou využitelností matematiky v rámci modularizace a návrhových vzorů, a vytvářením programů na vysoké úrovni abstrakce pomocí vydefinování DSL. V neposlední řadě tato část popisuje, jak jednoduše vytvářet reaktivní aplikace a jak lze funkcionálně přistupovat k persistenci pomocí event-sourcingu a CQRS. Praktická část práce poté demonstruje některé tyto principy na jednoduché client-server aplikaci. The main goal of the thesis is to summarize functional principles in context of developing enterprise applications. Theoretical part is focused on the description of general functional principles and their impact on quality of an application. Also it is focused on explaining the impact of mutable state and referential transparency on readability, maintainability, scalability and testability of an application. It is clarified how Math is used in a field of modularization, design patterns and in a way programs can be written on high level of abstraction using defined DSL. Last but not least, reactive principles and functional approach of persistence using event-sourcing and CQRS are described. Practical part is focused on demonstrating these princeples on simple client-server application.
Kolekce
- Bakalářské práce - 18102 [1608]