Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2018/2019

Návrhové vzory a OOP

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
MI-DPO Z,ZK 4 2P+1C česky
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Studenti získají znalost nejčastěji používaných návrhových vzorů. Návrhové vzory představují nejlepší praktiky řešení daných návrhových problémů softwaru.

Požadavky:

Znalost objektově orientovaného programování v jazyce C++, Java, nebo C\#.

Osnova přednášek:

1. Obecné, všeobecně použitelné návrhové vzory: Ovlivnění počtu instancí, Zlepšené zapouzdření, Optimalizace rozhraní, Zlepšení znovupoužitelnosti, Zjednodušení architektury, Zlepšení modifikovatelnosti

2. Ujasnění základních objektových konstrukcí:Objekt × třída, třída jako objekt,

Zpráva × metoda, konstruktor jako zvláštní druh metody, Atribut × vlastnost, hodnotové a odkazové typy, Rozhraní × implementace, signatura × kontrakt

3 druhy dědění: typů, implementace, přirozené:Rozhraní × interfejs, násobně dědění a jeho úskalí, Dědění implementace jako syntaktická, realizace dekorátoru

3. Důležité zásady návrhu objektově orientovaných aplikací (DRY, LSP, SRP, ?)

4. Ukázka rozdílu mezi strukturovaným a objektově orientovaným návrhem téže aplikace

5. Návrh frameworku pro třídu jednoduchých aplikací

6. Architektonické návrhové vzory pro distribuované aplikace:Vrstvy, Organizace aplikační logiky, Obecné vzory, Vzory pro zdroje dat

Osnova cvičení:

1. Organizace předmětu, obecný úvod do OOP, LSP, OCP, dědičnost vs skládání

2. Návrhové vzory Strategy, State, Template metod

3. Kontrola úkolu Composite Builder Iterator, návrhový vzor Visitor

4. Prezentace návrhů architektonických řešení semestrálních prací

5. Návrhový vzor Model View Controller

6. Prezentace finálních implementací semestrálních prací

7. Rezerva

Cíle studia:

Cílem tohoto předmětu je podat studentům širší, na konkrétním programovacím jazyku nezávislý pohled na objektové programování pomocí katalogu nejlepších praktik řešení daných návrhových problémů - návrhových vzorů. Přednášky jsou věnovány jednotlivým návrhovým vzorům seskupených do souvisejících celků. Návrhové vzory jsou primárně vysvětleny bez ohledu na konkrétní programovací jazyk pomocí grafických diagramů UML, jsou však diskutovány i implementační souvislosti pro nejčastěji používané objektově orientované jazyky C++ a Java.

Studijní materiály:

Pecinovský, R. ''Návrhové vzory''. Brno: Computer Press, 2007. ISBN 978-80-251-1582-4.

Gamma, E., Helm, R., Johnson, R., Vlissides, J. M. ''Design Patterns: Elements of Reusable Object-Oriented Software''. Addison-Wesley Professional, 1994. ISBN 0201633612.

Martin, R. C. ''Agile Software Development, Principles, Patterns, and Practices''. Prentice Hall, 2002. ISBN 0135974445.

Poznámka:

Rozsah=prednasky+proseminare+cviceni2p+1c

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ů:
Platnost dat k 21. 8. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1434006.html