Design Patterns

| As presence and online training

Design Patterns are proven solution schemes that are used in the context of the development and architecture of software for recurring design problems. We provide software developers with proven design patterns, saving you a lot of time during design development.

Design_p

2-day training for software developers and architects

You don’t always have to reinvent the wheel!

The wheel is considered one of the first technical inventions of mankind and is a significant milestone in history. Whoever wants to reinvent it deals with a problem that has already been solved many millennia ago.

The same principle is applied in software engineering: approved solutions for recurring issues: can be collected, generalized and documented in a problem-oriented manner known as “ Design Patterns”. Design patterns help avoid time wasted on reinventing the wheel in every project. Their correct use can have a large influence on the quality of the developing software product.  In addition, design patterns contribute to the accessibility of the software: if common design patterns are used when building the system, both new software developers and architects will find their way around more quickly and will be able to collaborate.

Improving Software Design with Design Patterns

In this interactive training, participants will learn the fundamentals of design patterns and their application. We will present you with a selection of important design patterns accumulated through numerous years of experiences which will be employed to expand practical knowledge through case studies, exercises, lectures and discussions. The content will be partially complemented with programming examples, but no programming exercises will be performed directly in the training. At the end of the course, participants will be able to assess the potential and practicality of design patterns in solving design tasks, select the appropriate patterns and efficiently implement them.

Training content

  • Introduction to architecture and design patterns
  • What are design patterns and what are they for
  • Categories of design patterns
  • Distinguishing between architectural, design patterns and principles
  • Description of selected design principles as the basis of design patterns to improve maintainability, loose coupling, reliability, scalability, etc:

 

  •  Description of selected architectural patterns with various emphases:
      • Data-oriented
      • Service-Oriented (e.g., microservices)
      • Interaction-oriented (e.g., Model-View-Controller)
      • Hierarchical (e.g. Layers)
      • Hardware-Oriented (as needed)
      • Control flow (e.g. Pipes and Filter)
      • Distribution and virtualizationDescription of selected architectural patterns with different focus:
  • Description of selected design patterns from the following categories:
    • Creation (e.g. Factory)
    • Structure (e.g., Adapter)
    • Behavior (e.g. Event Sourcing, Command)
    • Stability (e.g. Bulkhead)
    • Latency (e.g. Circuit Breaker)

Essentials

  • For this training, participants should already have practical experience in software development, acquired by programming different projects or systems outside of education. They should have knowledge and experience in at least one high-level programming language and know the basics in modeling, abstraction, algorithms, data structures, and UML

Software Modeling Experience

You’re interested in this training?

Then please call us at +49 621 595702 41 or send us a written inquiry using the contact form:

We are looking forward to your inquiry:

5 + 9 =

Customised in-house training required?

You have an entire team that you would like to provide a training for? If no training or workshop from our portfolio fits, we are happy to design tailor-made training courses according to your wishes. We look forward to your inquiry!

Make an inquiry+49 621 595702 41