Mastering C# and .NET Core Enterprise Development
Course Description
This advanced C# and .NET Core training course is designed for experienced developers focused on building robust desktop and console applications. Moving beyond the basics, this program dives deep into essential topics like Object-Oriented Programming, Dependency Injection, and Enterprise Software Design Patterns, all tailored to real-world enterprise needs.
Attendees will explore advanced data handling techniques using Entity Framework and LINQ, gain practical experience in multithreading and asynchronous programming and gain an introduction to creating web applications using ASP.NET.
The course also covers the latest .NET features, providing insights into maximising the capabilities of new releases. Participants will learn best practices for automated testing and continuous integration and the importance of Version Control and the integration of Git and GitHub into Visual Studio This hands-on, project-oriented course will equip developers with the expertise needed to elevate application performance, maintainability, and scalability in today’s fast-paced software landscape.
4 Days
Contact us for pricing
Prerequisites
Attendees should be proficient in C# and .NET fundamentals, including classes, interfaces, basic data structures, and exception handling.Who should attend?
This course is ideal for experienced C# developers who are comfortable with core programming concepts and have hands-on experience building desktop or console applications.Learning Objectives
At the conclusion of this course, attendees will have gained skills to:Use Git and GitHub for version control and integrate with Visual Studio.
Apply SOLID principles and advanced object-oriented programming concepts.
Implement Dependency Injection (DI) in .NET Core applications.
Utilize enterprise design patterns like Repository, Builder, and Factory.
Optimize data handling with Entity Framework Core and LINQ.
Develop efficient multithreaded and asynchronous applications.
Implement unit testing and Test-Driven Development (TDD).
Set up CI/CD pipelines using GitHub Actions or Azure DevOps.
Build and deploy web applications using ASP.NET Core MVC.
Explore the latest .NET features and performance optimizations.
The Importance of Version Control
GitGithub
Git Repository for the course
Visual Studio Professional Git integration
Object-Oriented Programming and Polymorphism
Advanced OOP principles: SOLID, DRY, and other design principlesIn-depth coverage of polymorphism, including interface and abstract class usage
Practical examples of polymorphism in desktop applications
Dependency Injection and Inversion of Control
Configuring and managing DI in .NET Core projectsUsing DI for desktop and console applications effectively
Best practices with Microsoft.Extensions.DependencyInjection and alternatives like Autofac
Enterprise Software Design Patterns
Common patterns: Repository, Builder and Factory patternsReal-world scenarios for patterns in enterprise applications
Implementation exercises and comparison of patterns for different use cases
Advanced Data Techniques with Entity Framework and LINQ
Mastering Entity Framework Core: optimising queries, lazy loading, and managing performanceComplex LINQ expressions, including custom filters and sorting
Data migration strategies and schema management
Practical session on debugging and troubleshooting LINQ queries
Multithreading and Asynchronous Programming
Deep dive into BackgroundWorker and managing threads in desktop appsAsynchronous patterns with async/await, Task Parallel Library, and asynchronous database access
Concurrency and parallelism: using Parallel.ForEach, PLINQ, and avoiding deadlocks
Practical applications, e.g., responsive UI in desktop apps
Automated Testing and Continuous Integration
Unit testing with MSTest, xUnit, and Moq for .NET applicationsTest-driven development for desktop and console applications
Setting up CI/CD pipelines in GitHub Actions, Azure DevOps, or similar for .NET Core projects
Code coverage, static analysis, and advanced debugging techniques
ASP.NET Overview
Developing Web Applications using ASP.NETCreating a .NET Core MVC Web Application
Exploring how Enterprise Design are utilised by the .NET Core MVC Framework
Exploring New .NET Features
Latest .NET enhancementsPerformance optimisations
C#OOP.NET.NET Frameworkasp.netasp.net coreasp.net core mvcmvcTDDVisual StudioVisual Studio 2022.NET Core