ÚVOD / Studijní obory / Sylaby / Design Patterns

Design Patterns

Cílem předmětu je vysvětlit význam návrhových vzorů při návrhu informačních systémů, proč je důležitá jejich znalost, jaké jsou praktické přínosy využití návrhových vzorů při vývoji informačních systémů, ale také jaké jsou potenciální nedostatky tohoto přístupu. Studenti by v rámci tohoto kurzu měli získat jak teoretické znalosti jednotlivých návrhových vzorů, schopnost namodelovat jednotlivé návrhové vzory v UML a dále také praktické dovednosti při jejich implementaci v daném programovacím jazyce.

Sylabus předmětu

  1. Úvod do problematiky návrhových vzorů; vysvětlení, co je to návrhový vzor; význam návrhových vzorů při návrhu a vývoji informačních systémů; historie návrhových vzorů; rozdělení a typy návrhových zdrojů; potenciální nedostatky návrhových vzorů.
  2. Creational patterns: Abstract Factory, Factory Method, Builder, Prototype, Dependency Injection.
  3. Creational patterns: Singleton, Multiton, Object Pool, Lazy Initialization, Resource Acquisition Is Initialization.
  4. Structural patterns: Adapter, Bridge, Composite, Decorator, Façade.
  5. Structural patterns: Proxy, Flyweight, Extension Object, Twin.
  6. Behavioral patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator.
  7. Behavioral patterns: Memento, Observer, Servant, State.
  8. Behavioral patterns: Strategy, Specification, Template Method, Visitor.
  9. Concurrency patterns: Active Object, Balking, Guarded, Monitor Object, Reactor.
  10. Concurrency patterns: Event-based Asynchronous, Lock, Read Write Lock, Scheduler, Thread Pool, Thread-specific Storage.
  11. Architectural patterns: Client-Server, Multi-Tier, MVC, MVP, MVVM, Blockchain.
  12. Integration patterns: styly integrace, typy integrace, Messaging Systems, Messaging Channels, Message Constructions, Message Routing, Message Transformation, Messaging endpoints, System management.

Doporučená literatura

Základní učební texty a pomůcky

  1. GAMMA, E., HELM, R., JOHNSON, R., VLISSIDES, J. Design Patterns – Elements of Reusable Object-Oriented Software. Boston, MA, USA: Addison-Wesley, 1995. ISBN 0‑201‑63361‑2.
  2. LARMAN, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Third edition. Upper Saddle River, NJ, USA: Prentice Hall, 2004. ISBN 0131489062.
  3. FOWLER, M. Patterns of Enterprise Application Architecture. 1st Edition. Boston, MA, USA: Addison-Wesley, 2002. ISBN  978‑0321127426.