C Language – Design Patterns (C3)

Programming, C, C++

This hands-on workshop helps C programmers write clearer, more maintainable code by applying design patterns, C-specific techniques and practical code examples. Study pointers, structures and memory management, and learn when to adapt object-oriented patterns or use idiomatic C.

Join practical sessions where classic design patterns are adapted to C and C-specific patterns are taught. Through selected code demonstrations and hands-on exercises you'll explore creational, structural and behavioral patterns and their trade-offs in real C projects.

Location, current course term

Contact us

Custom Customized Training (date, location, content, duration)

The course:

Hide detail
  • Design patterns
    1. Recurring design motifs in software design
    2. Data structures and layout options in C
    3. Nested structs and pointers
    4. Indirect function calls
  • Polymorphic operations
    1. Interfaces and operation tables
    2. Object-oriented elements in C
    3. Implementing OOP-like behavior
  • C language specifics
    1. Lack of built-in object model
    2. Structs, offsets and memory layout
    3. Memory allocation strategies
    4. Language philosophy and constraints
  • Creational patterns
    1. Factory
    2. Builder
    3. Singleton
    4. Prototype
    5. Deallocation and RAII-style implementations
  • Structural patterns
    1. Bridge
    2. Facade
    3. Adapter
    4. Decorator
    5. Proxy
  • Behavioral patterns
    1. Chain of responsibility
    2. Command
    3. Iterator
    4. Generator
    5. Mediator
    6. Observer
    7. Servant
    8. Visitor
    9. Template method
  • C-specific patterns
    1. Intrusive data structures
    2. Limited-allocation strategies
    3. System programming patterns
  • Additional patterns
    1. Parallel processing
    2. Asynchronous event loop
    3. Threads and processes
    4. Transactional processing
  • General recommendations
    1. Selecting appropriate patterns
    2. Choosing the right language tools
    3. Maintaining backward and forward compatibility
Assumed knowledge:
Basic programming knowledge, familiarity with MS Windows, or experience with another language.
Recommended previous course:
C Language – Advanced Programming (C2)
Schedule:
4 days (9:00 AM - 5:00 PM )
Language:

Vybrané zákaznické reference

Schneider Electric CZ, s.r.o., Jaromír B.
C Language – Design Patterns ( C3)
" Zajímavý kurz, sám jsem byl překvapený co neznám "