Design Patterns in .NET Training in Germany

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 3 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

This course is designed for C# developers who want to extend their architectural skills using design patterns and related techniques. The delivery is tailored to the .NET platform and uses .NET libraries and frameworks wherever possible to illustrate how patterns can be usefully applied. Additional examples are drawn from Ruby, Java/JEE, C++ and Scala.

Each pattern is introduced in terms of its abstract structure (via UML diagrams), its benefits and drawbacks, sample implementations and practical examples of how it can be used to simplify software development.

 

Delegates should have at least 3 years experience in C# development and be familiar with UML Sequence and Class diagrams.

Introduction to Patterns

  • What is a design pattern?
  • The evolution of design patterns
  • Misconceptions about design patterns
  • The dangers of becoming ‘pattern happy’
  • Distinguishing between patterns, idioms and refactorings
  • Using refactorings to introduce patterns incrementally
  • Using patterns to create an object oriented architecture

MVC, MVP and MVVM

  • Why MVC is the most important pattern in enterprise architecture
  • How the pattern is applied in web frameworks like ASP .NET MVC
  • Guidelines for applying MVC successfully in your own designs
  • Why Microsoft evolved MVP and MVVM out of conventional MVC
  • How MVVM is used in WPF and Windows 10 user interfaces

The Little Language Pattern

  • Understanding Little Language and Domain Specific Languages
  • Support for DSL’s in .NET via CodeDom and T4 Templates
  • LINQ as an example of an Internal DSL

The Observer Pattern

  • The disconnect between OO design and event handling
  • How the Observer pattern enables event-driven OO code
  • The classical implementation of Observer using interfaces
  • The .NET (and Delphi) version of Observer using delegates

The Iterator Pattern

  • Accessing an aggregate object without knowing its representation
  • How Iterator is used in the C++ , Java and .NET collection libraries
  • Adding iterator support to your own C# collection classes

The Singleton Pattern

  • Why ensure a class only has a single instance?
  • Singleton objects verses static utility classes
  • The classical implementation of the Singleton pattern
  • Language specific solutions to Singleton in C# and Scala
  • Making Singletons safe and efficient in concurrent code
  • Problems with the double checked locking idiom

Patterns Relating to Factories

  • Advantages of separating clients from object creation
  • Comparing the Factory Method and Abstract Factory Patterns
  • Using Abstract Factory to conceal providers in ADO .NET
  • Extending the Factory Pattern into Dependency Injection
  • Examples of Dependency Injection Tools for .NET

The Strategy Pattern

  • Creating class hierarchies to represent algorithms
  • Separating a class from a changing or complex algorithm
  • How Strategy is used with Layout Managers in WPF
  • How Strategy is used within mocking tools like Moq

The Command Pattern

  • Similarities between Srategy and Command
  • Using Command objects to simplfy event dispatching
  • Incrementally refactoring code to introduce Command
  • Uses of the Command Pattern in Web Frameworks

The Proxy Pattern

  • Adding services by intercepting messages
  • Dynamically creating proxy classes via Reflection
  • How proxies can be used for Aspect Oriented Programming
  • The interception framework provided with .NET

The Template Method Pattern

  • Using polymorphism to customize algorithms
  • Similarities between Template and Factory Method

The Decorator and Adapter Patterns

  • Using composition to layer extra functionality
  • Applying Decorator to create specialized collections
  • Distinguishing between Adapter and Decorator
  • Uses of these patterns in the .NET I/O libraries

Visitor

  • Simplifying class design by modelling operations as visitors
  • Adding support for Visitor to existing collections of objects
  • Using Visitor to add reporting and logging behaviour
  • Code generation in C# with Visitor and the CodeDOM library
  • Using Visitor in the design of a C# mock objects generator

The State Pattern

  • Benefits of the State Pattern over subclassing
  • Modelling objects with complex internal state transitions
  • Different approaches to implementing state transitions
  • Automatically generating state machines

Parallel Programming Patterns

  • Introducing the .NET Parallel Patterns
  • Working with thread pools and IOU’s
  • The async/await keywords


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Germany facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
01 Juni 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
12 Juni 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
12 Juni 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
17 Juni 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
01 Juli 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
10 Juli 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
08 August 2024
Berlin, Hamburg, Münih
3 Days
Classroom / Virtual Classroom
12 August 2024
Berlin, Hamburg, Münih
3 Days
Design Patterns in .NET Training Course in Germany

The Federal Republic of Germany is the second most populous country in Europe and is located in Central Europe. The official language of the country is German. Germany is one of the richest countries in the world. The main exports of the country include motor vehicles and iron and steel products.

Here are some fun facts about Germany:
The fairy tale writer, the Brothers Grimm, came from Germany and wrote many famous stories such as Cinderella, Snow White, and Sleeping Beauty.
Germany is home to the largest theme park in Europe, the Europa-Park.
The famous composer Ludwig van Beethoven was born in Germany.
The Autobahn, the German highway system, is known for having no general speed limit.


Berlin was divided by the Berlin Wall from 1961 to 1989. Known for its street art, Berlin has many colorful murals and graffiti throughout the city. Also, Berlin is home to many famous museums, such as the Pergamon Museum and the Museum Island. Many clubs and bars stay open until the early hours of the morning in this big city.

Another popular city is Munich, which is famous for its Oktoberfest beer festival that attracts millions of visitors every year. Munich is also home to many historic buildings, including Nymphenburg Palace and the Marienplatz town square.

The country's capital and largest city is Berlin, however Frankfurt is considered to be the business and financial center of Germany. It is home to the Frankfurt Stock Exchange, the European Central Bank, and many other financial institutions. Because of its central location within Europe and its status as a major financial hub, Frankfurt is often referred to as the "Mainhattan," a play on the city's name and its association with the Manhattan financial district in New York City.

Frankfurt is also a major transportation hub, with the largest airport in Germany and one of the largest in Europe, Frankfurt Airport. Additionally, it is a popular destination for tourists, with its historic city center, beautiful parks, and vibrant cultural scene.

Some of the top German technology companies like Siemens AG, Bosch, SAP SE, Deutsche Telekom, Daimler AG and Volkswagen has business centers in Frankfurt. The country has a strong tradition of engineering and innovation, and is home to many other world-class technology companies and research institutions.

Tailored to meet the specific needs of Germany, Bilginç IT Academy combines cutting-edge training methodologies with our comprehensive range of Certification Exam preparation courses and accredited corporate training programs. Experience a transformative approach to IT training that will redefine your expectations.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.