Practical Clean Software Architecture Course for C# Programmers..
Are you a C# programmer and can easily convert UML class and sequence diagrams from existing architecture into C# code? However, do you want to work your way up to a software architect and work effectively on design and software architecture yourself and make good contributions in this field? Then this is the right course for you! Step by step and in a practical way you will learn the most important design principles such as SOLID, GRASP and Hexagonal Architecture as well as the most important design patterns that are often encountered in practice and in large projects. The course is the bridge from a software developer to a software architect. Software developers are plentiful! Real software architects, on the other hand, are rare and therefore in high demand on the market. This course is the ideal introduction for you to the topics of drafting, design and implementation of clean software architecture with C#. Learn more about this exciting software design practical training....
Benefits
- Learn and apply object-oriented software architecture principles
- Gain a better understanding of good design and software architecture best practices
- Learn to design clean and flexible software architecture
- Learn proven design patterns with C#
- Reduce training time for new employees with comprehensive SW architecture
- Increase productivity with an easily extensible software architecture
This Clean Software Architecture course teaches you the basic concepts and best practices for Clean Software Architecture with C# in a simple and structured way. You will learn different techniques and principles such as SOLID, GRASP, Hexagonal Architecture and Design Patterns with C#. This course is the ideal introduction to software architecture with C#.
Contents
The course covers a selection of the following topics:
- UML Class and Sequence diagrams
- Introduction to Clean Code
- SOLID Principles
- GRASP Patterns
- Introduction to Unit Testing and TDD
- Hexagonal Architecture
- 7 to 10 Design Patterns
For more details, please see the agenda below.
Prerequisites
This Clean Software Architecture course is designed and optimized for programmers with prior knowledge and experience in C#. Participants should have at least C# knowledge to the extent of our C# course for programmers.
Individual: we specifically address your needs and take into account your previous knowledge, desired topics and focal points
Structured and easy to understand
Take your career, studies or training to the next level: with certificate
Safely and independently develop programmes (whether private, professional or for your start-up)
Lots and lots of practice: immediately applicable results
Small groups: max. 8 participants in the 3-day course max. 12 participants in online coaching
Developed by experts according to the Raed Method® & geared to the requirements of tech companies in 2020
E-mail support even after the end of the course
Description
Leading companies and employers are now looking for clean software architects. Because they basically generate a significantly high-quality code. This, in turn, is in high demand today. After all, it is easily extendable - without having to adapt many places. This increases productivity in the long term, shortens development time in parallel and also ensures high quality and greater customer satisfaction.
The Clean Software Architect seminar is held regularly at the Coding Academy in Munich. It lasts three days and is therefore a highly intensive training course to become a Clean Software Architect. After a quick theoretical introduction, we move directly to practical applications. We look specifically at the important object-oriented design concepts and principles. After all, a Clean Software architecture is one level higher and more abstract than pure C# Clean Code.
Our Clean Code seminar is more about writing clean, high-quality code. The Clean Software Architect seminar, on the other hand, focuses on classes according to SOLID principles as well as proven design patterns and their interactions. Basic questions like: Which classes belong in the same module? How do the modules interact with each other? Where are the boundaries between modules to be set? And what are the interfaces between the modules? How do I test the whole thing? Besides many examples and small programming tasks, we will model and largely implement an entire system in the Clean Software Architect seminar.
What do you learn on the first day?
we start with an introduction to the most important UML diagram: class diagram and sequence diagram. After that you will learn the most important Clean Code rules about names and functions. Right after that the 5 SOLID principles. Focuses on object-oriented analysis and design with C#. Already on the first day you will learn the first two proven and important patterns: Observer and Strategy Pattern and why SOLID form the basis for such patterns.
What do you learn on the second day?
On the second day you will learn the GRASP principles, which are one level more abstract than the SOLID principles. After that you will learn Hexagonal Architecture. Hexagonal Architecture. A similar model to Layered Architecture. However, the dependencies between layers are completely different. Dependencies always go in one direction: from outside layers to inside layers. This is only possible if we use SOLID's Dependency Inversion Principle correctly. For each layer, one or more even design patterns can also occur. The interesting thing is to master the interplay and interactions of multiple design patterns in this model, then usually a very good and flexible software architecture is created. Hexagonal Architecture is a higher abstraction than Design Patterns. Hexagonal Architecture manages the design and dependencies between adjacent layers, while Design Patterns can solve the tasks at each layer. Many examples and small programming tasks help you to internalize the important principles. You will also learn some design patterns like Adapter, Builder, Factory and Command Pattern.
What do you learn on the third day?
On this day you will learn more Design Patterns like Proxy, Bridge, Decorator, Facade, Singletone and Visitor Patterns. The goal is not to learn all Design Patterns, but to understand the principle behind Design Patterns and how you can improve your software architecture by skillful use of Design Patterns significantly and make it more flexible. Nevertheless, the basic rule is always: "Keep it simple and easy". Design patterns bring enormous flexibility and are very powerful. Nevertheless, they also bring a lot of complexity. That is the downside! The art is to decide if and when we should use such Design Patterns. Through many exercises and tasks you first learn the design patterns individually and still relatively easy and relaxed. If there is time, we will also show you how Test Driven Development can simplify the software architecture significantly, if TDD is implemented reasonably and well.
In the end we would like to master a big project together with you. Unfortunately, experience shows that there is not enough time to implement a very large project here. Because such architecture and design rules make quite sense for large projects. Nevertheless you learn the principles and the ideas with the small examples and tasks also quite well and you are able to transfer the acquired knowledge also to large projects. We would even start with a big project on the third day. Your task will be to continue the project with the learned clean SW architecture rules.
YOUR TRAINER
The Clean Software Architecture course for C# programmers is conducted by one of the following trainers:

Dr. Stefan Behnel
Expert: Python, Pytest, Unit Test und TDD, Clean Code, Clean Software Architektur, Fast Python, Cython
- Doctorate at the TU Darmstadt as Dr. Ing. in Software Architecture
References: 15 years of experience as a consultant, software developer and software architect in the financial services, automotive, publishing and tourism industries in the field of high-performance Python and open source, main developer of Cython, the data science library PANDA is based on Cython. Python training for Draeger, Apple, Sky Deutschland, IT companies, ...

Dr. Matthias Hölzl
Expert: Artificial Intelligence, Python, C++, Java, JavaScript, Clean Code & Software Architecture
- Doctorate at LMU in the field of Software Engineering
References: 30 years of teaching and industrial experience. Of which 18 years at Ludwig-Maximilians-Universität Munich, most recently as Professor for Software and Computational Systems Engineering. Training, technical coaching for machine learning, deep learning, process automation as well as review and improvement of software architecture in large IT projects. Python and Java trainings for Deutsche Bank, BMW, BA, VKB, etc. Editor and author of several books at Springer-Verlag and author of numerous scientific publications.

Allaithy Raed
Expert: Java, Python, Clean Code, Clean SW-Architecture, Refactoring, Testing, Train The Trainer
- Doctorate at LMU in the field of programming languages (2022).
References: 17 years of teaching and industry experience, thereof 12 years lecturer at the Ludwig-Maximilians-University Munich for Java, Python, Efficient Algorithms, Multiple awardsfor outstanding teaching at the LMU, book author for Java & soon Python at Springer and Orelly Verlag, developer of the RAED-Teaching Method®, Train the Trainer instructor, team training in Java and Python for BMW, VW, BA, SIEMENS, AGFA-Healthcare, TÜV Süd, Schufa AG, ..

Prof. Dr. Peer Kröger
Expert: Artificial Intelligence, Data Science, Big Data, SQL/NoSQL Database, Python, Java
- Doctorate at LMU in the field of Database and Data Science
References: Many years of practical experience in the implementation of data science projects as well as in consulting and training in the automotive industry, financial service providers and SMEs, among others. Approx. 150 peer-reviewed publications (cited over 8000 times) on the topic of data science, data mining, machine learning and AI. Member of the AI competence centre Munich Center for Machine Learning (MCML) at LMU Munich and professor for information systems and data mining at CAU Kiel.
CERTIFICATE
Of course, as a participant in the Clean Software Architecture with C# you will receive a certificate. Prerequisite for this is the complete participation in all course units and programming tasks and the successful programming of a small final project. This, however, will give you more pleasure than stress after this intensive Clean Software Architecture with C#.
AGENDA
The agenda is written in English due to the numerous technical terms. Descriptions as well as course material will be provided in German. You can book the course either in German or English.
All seminar contents are individually adapted to the wishes of our participants. They can vary depending on the level of knowledge and will be defined together with the seminar leader on day 1. In this Clean Software Architecture with C# seminar you can choose from the following topics:
Clean Software Architecture with C# Day 1
UML
- Class Diagrams
- Sequence Diagrams
SOLID:
- Single Responsibility
- Open Close
- Liskov Substitution
- Interface Segregation
- Dependence Principle
Design Patterns
- MVS Patterns
- Observer Pattern
- Strategy Pattern
Clean Software Architecture with C# Day 2
GRASP Patterns
- Information expert
- Creator
- Controller
- Indirection
- Low coupling
- High cohesion
- Polymorphism
- Protected variations
- Pure fabrication
Hexagonal Architecture
- Multiple Layer Architecture
- Dependency Inversion
- Hexagonal Architecture
- Advantages and Disadvantages
Design Patterns
- Adapter Pattern
- Factory Pattern
- Command Pattern
- Builder Pattern
Clean Software Architecture with C# Day 3
Design Patterns
- Proxy Pattern
- Bridge Pattern
- Decorator Pattern
- Facade Pattern
- Singletone Pattern
- Visitor Pattern
Pattern Combination
- Game Programming
- Use Hexagonal Architecture
- Use different Design Patterns
- Interaction between Patterns