63
63
This course will teach you how to design and build robust high-quality C# applications using best practices, software design patterns and modern coding techniques.
The training is based on a series of lectures I prepared for Mineware in Brisbane (Mineware is a division of Komatsu) to teach their software development teams how to write great code.
You will learn fundamental C# development topics like class inheritance, interface design, how to use delegates, events and lambda expressions, robust exception handling, unit testing, mocking, dependency injection, threads, tasks, and design patterns.
The training covers the following topics:
C# Classes
Class Properties
Class Inheritance
Interface Inheritance
Virtual Methods
Abstract Methods
Sealed Classes
Inheritance Best Practices
The Class Factory Pattern
Exception Handling
Exception Bad Practices
Delegates
Multicast Delegates
Generic Delegates
Events
Invoking and Handling Events
Lambda Expressions
Lambda Capture
The Observer Pattern
The Push and Pull Models
Unit Testing
Writing Unit Tests
Mocking
Mocking Libraries
Dependency Injection
The Worker Service Library
Service Object Lifetimes
Threads
Race Conditions
Thread Locking
Deadlocks and Livelocks
Thread Synchronization
Tasks
Parent and Child Tasks
Task Continuations
Cancellation Tokens
Check out this training lesson preview in which I will show you how to write a C# application that uses the task parallel library to convert a sentence to pig latin.
The video covers the task parallel library, parent and child tasks, and task continuations.
Here are four C# coding topics from the training. You can apply these techniques to your own C# projects to create a robust and high-quality code architecture.
Learn how to properly build class and interface inheritance hierarchies
Decouple your application code with C# delegates, event handlers and lambda expressions
Create flexible service containers with the dependency injection design pattern
Write multithreaded asynchronous code with threads and the task parallel library
If you want to try out my coding tips for yourself, you'll need a computer (running Windows, MacOS, or Linux), Microsoft Visual Studio Code, and the NET Core SDK.
Choose the plan that works best for you. Buy this course and dive into C# language features, or unlock unlimited access to every course on the site.
Want the best learning experience?
Members get access to the full course library, all labs and community pages, receive priority support and sneak previews of future course releases.
Prices shown exclude VAT. EU businesses can defer VAT during checkout with a valid VAT ID number.
Buy this course and get lifetime access to all lectures and knowledge quizzes
✔️ This course
✔️ Included quizzes only
✔️ Included labs only
🚫 No priority support
🚫 No community access
🚫 No future courses
€95 one time
Get access to all courses, lectures, labs, quizzes, and future releases
✔️ All courses
✔️ All quizzes
✔️ All labs
✔️ Priority support
✔️ Community pages
✔️ Access to future courses
€35 p/mo or €350 p/yr
In-company or online team training with guided labs and live support
🪙 Onsite or online
🪙 Conducted live
🪙 For teams of 5-12
🪙 3-day training
🪙 Guided labs
🪙 Can be customized
€1250 p/day
Awesome content. Very clear and solid explanations.
Lots of concrete examples, clear explanations, and additional information.
I hope I've given you a clear overview of the contents of this training course. But if anything is still unclear and you have some unanswered questions, then please check out this FAQ section
In an online training you can study the training lectures and work on the homework assignments in your own time and at your own pace. You can spend as many or as little hours per week as you want on the training.
You will receive prerecorded online video lectures, text lectures, multiple-choice quizzes and homework exercises.
You are supported through email, and you can also book a 30-minute video support call with me if you want. I will help you with the training lectures and homework projects and get you ready for your certification exams.
An online training is ideal for tech professionals who want to set their own learning pace and prefer to work independently with a bit of guidance and support throughout the training.
I host all my training content on Podia, a well-known e-learning platform based in the United States.
You have unlimited access to the online training content and your login account will never expire.
Yes! I often host classroom trainings where I teach tech subjects to an entire business team. Contact me and we'll get it organised.
Sign up for the newsletter and get notified when I publish new posts and articles online.
Let's stay in touch!