Course Outline
Session 1: SOLID Principles and Clean Code
- Review of SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for government applications
- Applying SOLID principles to C# code in a public sector context
- Clean code principles and best practices for enhancing code quality in government projects
- Refactoring techniques to improve code maintainability and readability, ensuring alignment with public sector workflows
Session 2: Developing Layered Applications
- Understanding the layered architecture pattern for government systems
- Implementing separation of concerns in C# applications to enhance governance and accountability
- Designing and implementing presentation, business logic, and data access layers for robust public sector solutions
- Dependency Injection (DI) in layered applications to support modular and maintainable code
Session 3: Generic Covariance and Contravariance
- Exploring covariance and contravariance in C# for government applications
- Using generic interfaces and delegates with covariance and contravariance to optimize code flexibility
- Understanding the
in andout keywords in generic type parameters for enhanced type safety - Practical examples and use cases of covariance and contravariance in public sector development
Session 4: LINQ and Advanced Querying
- Review of LINQ basics for government data processing
- Deep dive into LINQ query operators to enhance data manipulation capabilities
- LINQ with complex data structures and custom types for efficient data management in public sector applications
- Performance considerations and optimization techniques to ensure high-performance government solutions
Session 5: IDisposable and Managing Resources
- Understanding the
IDisposable interface and the Dispose pattern for efficient resource management in government applications - Implementing proper resource management and cleanup to ensure system reliability and security
- Using the
using statement andIDisposable pattern in C# to prevent resource leaks - Dealing with unmanaged resources and finalization for robust public sector software
Session 6: Weak Events and Memory Management
- Weak event patterns in C# for efficient event handling in government applications
- Preventing memory leaks with weak references to enhance application performance
- Understanding memory management in .NET and the garbage collector for optimized public sector solutions
- Strategies for optimizing memory usage and minimizing memory leaks in government systems
Session 7: Form Philosophy and UI Design Patterns
- Principles of designing and organizing forms in C# applications to meet public sector user needs
- MVVM (Model-View-ViewModel) and other UI design patterns for government projects
- Implementing data binding and commanding in WPF applications for enhanced user interaction
- Handling user input and validation in forms to ensure data integrity and compliance with public sector standards
Session 8: Parallel Programming with Threads, Tasks, and Async/Await
- Introduction to parallel programming concepts for government applications
- Creating and managing threads in C# to improve application performance
- Working with the Task Parallel Library (TPL) for parallel processing in public sector projects
- Asynchronous programming with
async andawait keywords to enhance responsiveness and efficiency in government systems
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)
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.
Florim - Jisc
Course - Programming in C# with Visual Studio
Comprehensive - covered everything we were interested in. Able to work through examples.