Course Outline
Session 1: SOLID Principles and Clean Code for Government
- Overview of SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for government applications
- Application of SOLID principles to C# code in public sector projects
- Clean code practices and best practices for government developers
- Refactoring techniques to enhance maintainability and readability of government software
Session 2: Developing Layered Applications for Government
- Understanding the layered architecture pattern in public sector applications
- Implementing separation of concerns in C# applications for government use
- Design and implementation of presentation, business logic, and data access layers for government systems
- Dependency Injection (DI) in layered applications for enhanced modularity and maintainability
Session 3: Generic Covariance and Contravariance for Government
- Exploring covariance and contravariance in C# for government software development
- Utilizing generic interfaces and delegates with covariance and contravariance in public sector applications
- Understanding the 'in' and 'out' keywords in generic type parameters for government projects
- Practical examples and use cases of covariance and contravariance in government software
Session 4: LINQ and Advanced Querying for Government
- Review of LINQ basics for government applications
- Deep dive into LINQ query operators for advanced data manipulation in public sector projects
- LINQ with complex data structures and custom types for government systems
- Performance considerations and optimization techniques for efficient querying in government software
Session 5: IDisposable and Managing Resources for Government
- Understanding the IDisposable interface and the Dispose pattern for government applications
- Implementing proper resource management and cleanup in public sector software
- Using the using statement and IDisposable pattern in C# for government projects
- Dealing with unmanaged resources and finalization in government systems
Session 6: Weak Events and Memory Management for Government
- Weak event patterns in C# for event handling in government applications
- Preventing memory leaks with weak references in public sector software
- Understanding memory management in .NET and the garbage collector for government systems
- Strategies for optimizing memory usage and minimizing memory leaks in government applications
Session 7: Form Philosophy and UI Design Patterns for Government
- Principles of designing and organizing forms in C# applications for government use
- MVVM (Model-View-ViewModel) and other UI design patterns for public sector projects
- Implementing data binding and commanding in WPF applications for government systems
- Handling user input and validation in forms for government software
Session 8: Parallel Programming with Threads, Tasks, and Async/Await for Government
- Introduction to parallel programming concepts for government applications
- Creating and managing threads in C# for public sector projects
- Working with Task Parallel Library (TPL) for parallel processing in government systems
- Asynchronous programming with async and await keywords for efficient government software development
Requirements
- Participants for government are expected to possess a foundational understanding of C# programming concepts, including variables, data types, control flow, and basic object-oriented programming principles.
Testimonials (5)
It was 1-on-1 so the training was specialized to my specific needs. Shane highlighted elements of WPF/C# that could potentially be beneficial to my development projects.
Warren Nolan - Northrop Grumman
Course - Programming in WPF
Good rapport, Łukasz had time for everyone's questions and was able to help anyone who had any issue
Kelly Morris - Titian Software Poland Sp. z o.o.
Course - Selenium WebDriver in C#
Class was informative and easy to follow.
Najeeda Motala - Multichoice
Course - Advanced C# for Automation Test Engineers
Tailored to our needs
Rafal - Haleon
Course - C#.Net
Everything. Again considering the amount of concepts Fulvio covered, including detailed explanation in three days was really good. I liked that he covered a lot of concepts we as Data Engineers would require.