Objektový návrh a modelování
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
B4B36ONM | Z,ZK | 6 | 2P+2C | česky |
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačů
- Anotace:
-
Objektově-orientovaný přístup dnes drtivě převažuje ve všech aspektech vývoje softwaru: analýze, návrhu i implementaci. Cílem tohoto kurzu je dovést studenty k solidnímu porozumění základním pojmům objektové teorie a nastínit jejich formální základy.
- Požadavky:
-
Základní znalost programování, základní znalosti matematiky, schopnost exaktního myšlení.
- Osnova přednášek:
-
1. Objekty, Třídy, instance a atributy
2. Paměť v objektově-orientovaných jazycích
3. Polymorfismus a dědičnost
4. Modularita a zapouzdření
5. Návrhové vzory 1
6. Návrhové vzory 2
7. Návrhové vzory 3
8. Ukázky použití návrhových vzorů 1
9. Ukázky použití návrhových vzorů 2
10. Zápočtový test
11. SOLID, DRY, GRASP
12. GRASP - Příklady
13. Imutabilita a funkcionální programování
14. Ukázky funkcionálního programování
- Osnova cvičení:
-
1. Úvod
2. Jak v Java na Objekty, Třídy, instance a atributy
3. Paměť v objektově-orientovaných jazycích
4. Polymorfismus a dědičnost v Java
5. Modularita a zapouzdření v Java
6. Návrhový vzor Adapter
7. Návrhový vzor Visitor
8. Návrhový vzor Interpreter
9. Návrhový vzor Command
10. Opakování
11. Principy SOLID, DRY
12. Ukázka principů GRASP
13. Imutabilita v jazyku Java
14. Ukázky funkcionálního programování ve Scala
- Cíle studia:
-
Porozumění základním principům objektového přístupu, schopnost jejich správné aplikace ve středně složitých situacích.
- Studijní materiály:
-
[1] R. Pecinovský: Myslíme objektově v jazyku Java.
[2] R. Pecinovský: Návrhové vzory - 33 vzorových postupů pro objektové programování.
[3] B. Eckel: Thinking in Java
[4] Er. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software.
- Poznámka:
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Otevřená informatika - Software 2016 (povinný předmět oboru)