Lecturer(s)
|
-
Fišer Jiří, Mgr. Ph.D.
-
Beránek Pavel, Ing. Mgr.
|
Course content
|
1. type system in statically typed object-oriented programming languages 2. - 3. polymorphism based on a shared interface (protocol) 4. polymorphism based on inheritance (access specifiers) 5. design patterns (principles and goals) 6. - 7. generating design patterns (Factory methods and objects, Singleton) 8. - 9. structural design patterns (Adapter, Decorator, Bridge, Flyweight) 10. - 11. behavior-related patterns (Command, Observer, Memo) 12. - 13. design, discussion and initial implementation of the seminar project
|
Learning activities and teaching methods
|
unspecified
|
Learning outcomes
|
The course deepens the practical skills of the programmer through the use of classical object-oriented design patterns in OOP language with static typing. The course begins with an introductory description of the C# language from the perspective of type system and the mechanism of controlled polymorphism. The core is then a description of the key classical design patterns (GoF) and their implementation in the chosen programming language.
|
Prerequisites
|
programming, basic principles of object-oriented programming (class, polymorphism)
|
Assessment methods and criteria
|
unspecified
sample application using appropriate design patterns
|
Recommended literature
|
|