QA Systems Akademie

Wer Bestes leisten will, braucht bestes Werkzeug und das Wissen, wie man damit umgeht. Wie die Möglichkeiten von Programmiersprachen besser genutzt und Werkzeuge optimal eingesetzt werden, erfahren Sie bei den Schulungen und Workshops von QA Systems. Nutzen Sie das Know-how und die Erfahrung weltweit führender Experten. In unserer Akademie stehen sie Ihnen regelmäßig Rede und Antwort. Allen voran der Autor, Wissenschaftler, Softwareentwickler und C++-Experte Dr. Andrei Alexandrescu.


Modern C++1x Design

Termin: 2017 in Planung
Dauer: 9:00 Uhr bis ca. 17:00 Uhr
Ort: Hotel Steigenberger Graf Zeppelin, Stuttgart
Sprache: Englisch
Referent: Dr. Andrei Alexandrescu

The book "Modern C++ Design" popularized what became colloquially known as modern C++, a refreshing style of high-level programming that gave away inheritance and polymorphism in favor of templates and compile-time metaprogramming. Over time, support for this way of writing code has been significantly enhanced in C++11 and C++14. This seminar discusses the core topics of Modern C++ Design in the context of C++1x. With better language support certain artifacts are much easier to design and implement. More importantly, new opportunities are now available.

Course Highlights
Participants will gain:

  • A good understanding of Design Patterns and their place in an engineer's toolchest.
  • Mastery of policy-based design that uses C++ generic programming to implement highly reusable designs.
  • A comprehensive introduction to C++1x core language features and library artifacts specifically targeted at template-based programming.
  • A good understanding of classic design patterns, their tradeoffs, and state-of-the-art generic C++ implementation for each.

Please note: This course is being actively developed. The actual course might contain more topics and slight variations on the topics outlined below.

  • Recap of Design Patterns
  • Recap of Policy-Based Design
  • Variadic Templates
  • std::tuple
  • Deferred std::tuple expansion
  • Typelists and policy parameters
  • Factory Design Pattern
  • Visitor Design Pattern
  • Chain of Responsibility Design Pattern
  • Declarative Control Flow
  • Unifying Exception with Error Codes
  • Policy-Based Memory Allocation
  • Generic Locking
  • Robert Martin's Principles of Object-Oriented Design
    • SRP: The Single Responsibility Principle
    • OCP: The Open Closed Principle
    • LSP: The Liskov Substitution Principle
    • ISP: The Interface Segregation Principle
    • DIP : The Dependency Inversion Principle
    • REP: The Release Reuse Equivalency Principle
    • CCP: The Common Closure Principle
    • CRP: The Common Reuse Principle
    • ADP: The Acyclic Dependencies Principle
    • SDP: The Stable Dependencies Principle
    • SAP: The Stable Abstractions Principle

Attendee Profile
This class targets senior engineers and architects of C++-based systems. Familiarity with the major features of C++ is required. Template programming and C++1x concepts will be introduced.

The format is a highly interactive lecture. Questions during the lecture are encouraged. Use of laptops for trying out examples is allowed.


Download Seminarbeschreibung mit Anmeldeformular (PDF)

zurückJetzt anmelden
Jetzt anmelden