Úvod do objektové architektury
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
18UOA | Z,ZK | 4 | 2P+2C | česky |
- Garant předmětu:
- Přednášející:
- Rudolf Pecinovský
- Cvičící:
- Rudolf Pecinovský
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Předmět je určen studentům, kteří znají základy objektových konstrukcí programovacího jazyka Python, výhodná je i základní znalost objektových rysů jazyků Java a C++. Seznámí studenty hlouběji s obecným objektovým paradigmatem a především se zásadami, kterými je vhodné se řídit při budování rozsáhlejších aplikací. Na několika postupně budovaných a zdokonalovaných aplikacích demonstruje, jak se dodržování těchto základ uplatní při postupném vylepšování a zdonolavoání aplikací podle rostoucích požadavků azákazníka.
- Požadavky:
-
Předpokládá se znalost jazyka Python na úrovni učebnice «Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání».
- Osnova přednášek:
-
1. Historie a koncepce objektového paradigmatu, rozdíly jeho implementace v různých programovacích jazycích.
2. Koncepce platformy a její vliv na aplikovatelnost programů.
3- Grafický jazyk UML jako nástroj pro návrh a zobrazení architektury.
4. Tři typy a dva způsoby dědění
5. Třída versus interface versus trait, koncepce protokolů v jazyku Python
6. Dědění třídy versus implementace rozhraní versus mixin
7. Zásady návrhu objektové architektury
8. Principy aspektově orientovaného programování
9. Základní principy funkcionálního programování
10. Návrhové vzory a jejich uplatnění při návrhu programu
11. Principy souběžného programování a typy souběžného programování podporované v jazyk Python
12. Implementace vícevláknového, víceprocesového a asynchronního programování v jazyku Python
11. Uplatnění vzoru interpret při návrhu knihovny regulárních výrazů
12. Architektonické vzory
- Osnova cvičení:
-
1. Návrh programu podle klasického strukturovaného paradigmatu.
2. Převod programu na objektové paradigma a implementace požadovaného API.
3. Oddělení části pro vizualizaci aplikací návrhového vzoru Posluchač
a zprovoznění zaměnitelnosti různých implementací vizualizace.
5. Návrh jednoduché aplikace typu Kalkulačka s výměnnými CPU a zobrazoovacími moduly aplikací vzoru Most.
4. Návrh API umožňující oddělení jádra budované aplikace od nadstavby.
5. Demonstrace vhodného API na jednoduchost implementace vzájemné zaměnitelnosti různých jader a různých nadstaveb.
6. Modifikace stávající aplikace pro podporu různých typů souběžného porgramování.
7. Návrh architektury rozsáhlejší aplikace a způsoby jejího testování v průběhu vývoje.
- Cíle studia:
-
Osvojit si zásady práce podle objektově orientovaného paradigmatu a naučit se aplikovat zásady OOP při řešení praktických úloh.
- Studijní materiály:
-
Doporučená literatura:
[1] PECINOVSKÝ Rudolf: Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání. Grada 2024. ISBN 978-80-271-7747-8 (ePub), ISBN 978-80-271-7746-1 (pdf), ISBN 978-80-271-5467-8 (print).
[2] PECINOVSKÝ Rudolf: Návrhové vzory 33 vzorových postupů pro objektové programování. Brno: Computer Press, 2007. ISBN 978-80-251-1582-4.
[3] FOWLER Martin et al.: Patterns of enterprise application architecture. Boston: Addison-Wesley, 2003. XXIV, 533 s. The Addison-Wesley signature series. ISBN 0-321-12742-0.
[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka algoritmických konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6061-7.
[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka objektových konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6062-4.
- Poznámka:
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Aplikace informatiky v přírodních vědách (volitelný předmět)