Get in Touch
 Duration 21 hours

Course Outline

Session 1: SOLID Principles and Clean Code

  • Examination of SOLID principles, including Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion
  • Application of SOLID principles to C# codebases for government use
  • Establishment of clean code principles and industry best practices
  • Refactoring strategies to enhance code maintainability and readability

Session 2: Developing Layered Applications

  • Analysis of the layered architecture pattern
  • Implementation of separation of concerns within C# applications
  • Design and execution of presentation, business logic, and data access layers
  • Integration of Dependency Injection (DI) in layered application architectures

Session 3: Generic Covariance and Contravariance

  • Exploration of covariance and contravariance mechanisms in C#
  • Utilization of generic interfaces and delegates utilizing covariance and contravariance
  • Interpretation of in and out keywords in generic type parameters
  • Practical demonstrations and applicable scenarios for covariance and contravariance

Session 4: LINQ and Advanced Querying

  • Assessment of LINQ fundamentals
  • Comprehensive review of LINQ query operators
  • Application of LINQ to complex data structures and custom types
  • Evaluation of performance factors and optimization methodologies

Session 5: IDisposable and Managing Resources

  • Comprehension of the IDisposable interface and the Dispose pattern
  • Execution of proper resource management and cleanup procedures
  • Employment of the using statement and IDisposable pattern in C# environments
  • Management of unmanaged resources and finalization processes

Session 6: Weak Events and Memory Management

  • Implementation of weak event patterns in C# for event handling
  • Prevention of memory leaks through weak references
  • Understanding of memory management structures in .NET and the garbage collector
  • Strategies for optimizing memory usage and minimizing memory leaks for government systems

Session 7: Form Philosophy and UI Design Patterns

  • Principles governing the design and organization of forms in C# applications
  • MVVM (Model-View-ViewModel) and alternative UI design patterns
  • Execution of data binding and commanding in WPF applications
  • Management of user input and validation within forms

Session 8: Parallel Programming with Threads, Tasks, and Async/Await

  • Overview of parallel programming concepts
  • Creation and management of threads in C#
  • Utilization of the Task Parallel Library (TPL) for parallel processing
  • Asynchronous programming implementation using async and await keywords

Requirements

  • Participants are expected to possess a foundational understanding of C# programming concepts, including variables, data types, control flow, and basic object-oriented programming principles

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories