Companies Home Search Profile

Design Patterns and their Usage with Dependency Injection

Focused View

Henning Kuntzschmann

4:59:48

17 View
  • 1. Introduction.mp4
    00:26
  • 2. Introduction to the course - the Process and Content.mp4
    00:46
  • 3.1 Examples-Exercises.zip
  • 3.2 Slides-Leaflet.pdf
  • 3. Accompanying Material IDE & Code.mp4
    00:45
  • 4. Unit-Tests.mp4
    00:22
  • 5. Exercises.mp4
    00:38
  • 6.1 Slides-Uml-EN.pdf
  • 6. UML Short Introduction.mp4
    05:36
  • 1. Introduction to SOLID.mp4
    01:33
  • 2. Single Responsibility Principle (SRP).mp4
    00:48
  • 3. Open Closed Principle (OCP).mp4
    00:44
  • 4. Liskov Substitution Principle (LSP).mp4
    00:52
  • 5. Interface Segregation Principle (ISP).mp4
    00:52
  • 6. Dependency Inversion Principle (DIP).mp4
    04:20
  • 7.1 Slides-Solid-EN.pdf
  • 7. Summary SOLID.mp4
    00:39
  • 8. Other Principles, besides SOLID.mp4
    02:43
  • 1.1 Slides-DI-EN.pdf
  • 1. Introduction.mp4
    01:04
  • 2. Theory.mp4
    01:55
  • 3. Implementation in Code.mp4
    03:09
  • 4. Quiz Dependency Injection.html
  • 1. Introduction.mp4
    01:40
  • 2. Theory.mp4
    01:30
  • 3. Implementation in Code.mp4
    05:28
  • 4.1 Slides-CompositionRoot-EN.pdf
  • 4. Summary Composition Root and Dependency Injection.mp4
    00:14
  • 5. Quiz.html
  • 1. Design Patterns and their Characteristics.mp4
    01:10
  • 2. Summary Design patterns.mp4
    00:29
  • 3. Quiz Design Patterns.html
  • 1. Explanation of the example - The following lessons are based on this.mp4
    00:32
  • 2. Theory.mp4
    01:38
  • 3. Implementation in Code.mp4
    09:32
  • 1. Real World Example.mp4
    03:53
  • 2. Theory.mp4
    02:10
  • 3. Implementation in Code Power Meter.mp4
    09:33
  • 4. Implementation in Code Night Light.mp4
    08:37
  • 5. Exercise 1 Introduction.mp4
    01:31
  • 6. Exercise Power Indicator.html
  • 7. Summary.mp4
    01:35
  • 1. Real World Example.mp4
    02:50
  • 2. Theory.mp4
    02:05
  • 3. Implementation in Code Multiple Socket.mp4
    10:24
  • 4. Summary.mp4
    01:49
  • 5. Quiz Composite.html
  • 1. Real World Example.mp4
    07:00
  • 2.1 Slides-Proxy-EN.pdf
  • 2. Theory.mp4
    07:08
  • 3. Implementation in Code On-Off-Switch.mp4
    08:38
  • 4. Implementation in Code Dimmer.mp4
    09:05
  • 5. Implementation in Code Sound System.mp4
    15:48
  • 6. Exercise 2 Introduction.mp4
    01:07
  • 7. Exercise Input Current Limiter.html
  • 8. Summary.mp4
    00:12
  • 1. Real World Example.mp4
    01:06
  • 2. Theory.mp4
    04:00
  • 3. Quiz Strategy Pattern.html
  • 1. Real World Example.mp4
    03:41
  • 2.1 Slides-StrategyProxy-EN.pdf
  • 2. Theory.mp4
    05:47
  • 3. Implementation in Code Port Switch.mp4
    08:57
  • 4. Summary.mp4
    01:22
  • 5. Quiz Strategy Proxy.html
  • 1. Real World Example.mp4
    04:18
  • 2. Theory.mp4
    02:28
  • 3. Implementation in Code USB-Adapter.mp4
    14:39
  • 4. Exercise 3 Introduction.mp4
    01:45
  • 5. Exercise US Power Adapter.html
  • 6. Summary.mp4
    01:05
  • 1. Real World Example.mp4
    02:11
  • 2. Theory.mp4
    00:55
  • 3. Implementation in Code Socket Protection.mp4
    07:49
  • 4. Summary.mp4
    02:06
  • 5. Quiz Null Object.html
  • 1. Real World Example.mp4
    02:12
  • 2. Theory.mp4
    00:55
  • 3. Implementation in Code Multiple Socket with Switch.mp4
    09:12
  • 4. Exercise 4 Introduction.mp4
    00:55
  • 5. Exercise Multiple Socket.html
  • 6. Summary.mp4
    02:33
  • 1. Example Explanantion - Order Fulfillment in an E-Commerce Software.mp4
    01:17
  • 2. Example Explanantion - Implementation in Code.mp4
    12:39
  • 3. Payment Logging Decorator - Theory.mp4
    00:56
  • 4. Payment Logging Decorator - Implementation in Code.mp4
    08:17
  • 5. Notification Null Object - Theory.mp4
    00:45
  • 6. Notification Null Object - Implementation in Code.mp4
    05:20
  • 7. Notification Composite - Theory.mp4
    01:12
  • 8. Notification Composite - Implementation in Code.mp4
    08:00
  • 9. Payment Adapter - Theory.mp4
    01:23
  • 10. Payment Adapter - Implementation in Code.mp4
    07:52
  • 11. Shipping Strategy Proxy - Theory.mp4
    01:55
  • 12. Shipping Strategy Proxy - Implementation in Code.mp4
    15:48
  • 13. Fulfillment Protection Proxy - Theory.mp4
    01:43
  • 14. Fulfillment Protection Proxy - Implementation in Code.mp4
    07:25
  • 1. Final Test Design Patterns and their Integration into Applications.html
  • 1. FAQs.mp4
    03:17
  • 2. Recommended Reading.mp4
    00:37
  • 3. Adoption.mp4
    00:36
  • Description


    Learn key design patterns, how to implement them, and how to use them as clean code in applications.

    What You'll Learn?


    • By the end of the course, you will understand important design patterns, be able to discover them, classify them, and practically implement them in code.
    • You are familiar with basic software development principles that pave the way to clean, flexible and maintainable code.
    • You know how an application is built and at what point design patterns are injected into your code.
    • The terms Dependency Injection, Composition Root and Object Graph are no longer foreign words to you.

    Who is this for?


  • Software developers with beginner skills who are interested in clean, maintainable and flexible code.
  • Programmers who want to learn the structured design of an application
  • Software engineers who want to decouple their application
  • Software architects who want to understand Dependency Injection and Composition Root
  • C# developers who want to learn how to implement design patterns in their language.
  • Software Development Engineers who want to make Clean Code their banner
  • What You Need to Know?


  • Basic knowledge of an object-oriented programming language, e.g. classes, methods
  • Optional: Visual Studio 2022 to run the examples and exercises
  • Exercises can also be done within the course using Udemy's built-in IDE without Visual Studio.
  • More details


    Description

    Note: The course is also available in German, search for "Entwurfsmuster und ihre Integration mit Dependency Injection"


    Course to learn frequently used design patterns

    In my course you will learn the basics of different, important design patterns of software development. Intentionally, we do not cover all possible design patterns. We limit ourselves to the most commonly used patterns that software developers should know. Other patterns beyond that are beyond the scope and complexity of this course. The course also deals intensively with the practical application of the patterns in connection with Dependency Injection and the SOLID principles, so that Clean Code does not remain just an empty phrase.

    Design patterns covered:

    • Decorator

    • Composite

    • Proxy

    • Strategy Pattern

    • Strategy Proxy

    • Adapter

    • Null Object

    Concepts covered:

    • SOLID Principles

    • Dependency Injection (Constructor Injection)

    • Composition Root (Bootstrapping)

    • Object Graph

    • Chaining and reuse of design patterns

    Target group

    The course is aimed at beginners with programming knowledge and advanced programmers / developers who want to learn the structure of object-oriented software beyond the pure implementation of functions and algorithms, as well as to further educate themselves in the area of design / architecture. Abstractions and interfaces are briefly introduced in the course, but a prior knowledge of them will facilitate understanding. The course assumes basic knowledge of classes and functions.

    Developers who already develop and build entire applications, but frequently encounter problems with the maintainability and adaptability of their code, can also benefit from the content. In particular, the knowledge imparted about dependency injection and the composition root can provide new insights here.

    The examples and exercises are written in C#, a very easy to understand programming language. The concepts covered are cross-language and the code can be easily translated into your own (object-oriented) programming language.

    Course content

    Short theoretical introductions with simple UML diagrams lead - via analogies from the real world - to practical implementations in code.

    All design patterns are explained using the example "plug and socket". In this way, the function, application and goals of the patterns are explained in an easily understandable way at an abstract level. The focus is always on understanding the patterns as well as the actual implementation. The short theory lessons are accompanied by the simplest UML diagrams.

    The course is based on an alternation of

    • Video content that explains design patterns on real objects,

    • Presentations that compactly summarize what has been learned,

    • Screencasts showing implementations in real code,

    • Exercises that can be solved independently,

    • Quizzes, for quick self-control of what has been learned, and

    • A final test with over 35 questions covering the entire course.

    All knowledge about design patterns is useless if you can't use them correctly in an application. Therefore, the course also includes basics on SOLID principles, as well as Dependency Injection and Composition Root, the basis of object-oriented design. With these simple concepts, design patterns can be integrated into applications in such a way that they unleash their true power: adaptive, maintainable and understandable code.

    Building on this knowledge, we'll go through a real-world example application: the order fulfillment of an e-commerce company. You'll learn about real-world uses of the design patterns, as well as their integration into the application.

    Exercises

    The entire course is supported by exercises written in C#. You'll get assignments on implementing and building in design patterns. Exercises can be done in two ways. Once they are available directly in the course, via the IDE provided by Udemy including control tests and solutions. Alternatively, the exercises are in the included project folder for the free Visual Studio 2022 Community Edition (or higher).

    All code, both examples and exercises is provided with unit tests. Even though unit tests are not explicitly discussed in this course, these tests can still help you understand and get you started with Test-First-Development or Test-Driven-Development (TDD). You will see how easy it is to test implementations of the design patterns.

    Who this course is for:

    • Software developers with beginner skills who are interested in clean, maintainable and flexible code.
    • Programmers who want to learn the structured design of an application
    • Software engineers who want to decouple their application
    • Software architects who want to understand Dependency Injection and Composition Root
    • C# developers who want to learn how to implement design patterns in their language.
    • Software Development Engineers who want to make Clean Code their banner

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Henning Kuntzschmann
    Henning Kuntzschmann
    Instructor's Courses
    English (German see below):In 2016, I graduated from the Technical University of Dresden with a degree in electrical engineering with a focus on communications and information technology.Afterwards, I worked for three years as a software engineer in the automotive industry, especially in the development of media and infotainment systems.During this time, I was certified as a Certified Professional for Software Architecture (CPSA - Foundation Level) by iSAQB.In 2019, it was time for new challenges and I moved to the fashion e-commerce sector as a software developer.Since my youth I have been interested in software development and started early creating first websites and projects. This passion accompanied me through my studies until today.In 2021 I founded the company Mintuitiv, which inspires children with the fascination of logic through puzzle books and also offers courses around STEM and software development.German:2016 habe ich mein Studium der Elektrotechnik im Schwerpunkt Kommmunikations- und Informationstechnik an der TU Dresden als Diplom-Ingenieur abgeschlossen.Im Anschluss war ich drei Jahre als Software-Ingenieur in der Automotive-Branche tätig, speziell in der Entwicklung von Media- und Infotainment-Systemen.Während dieser Zeit wurde ich zum Certified Professional for Software Architecture (CPSA - Foundation Level) vom iSAQB zertifiziert.2019 war es Zeit für neue Herausforderungen und ich wechselte als Software-Entwickler in den Bereich Fashion E-Commerce.Seit meiner Jugend interessiere ich mich für Software-Entwicklung und begann früh mit dem Erstellen erster Websites und Projekte. Diese Leidenschaft begeleitete mich durch das Studium bis heute.2021 habe ich das Unternehmen Mintuitiv gegründet, das Kinder durch Rätselhefte für die Faszination der Logik begeistert und darüber hinaus Kurse rund um das Thema MINT und Software-Entwicklung anbietet.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 80
    • duration 4:59:48
    • Release Date 2024/01/03