T1116

MasterClass C# Development

Do you want to really master C# and Visual Studio? Do you want to see how to cleanly and efficiently implement modern design patterns? Do you want to learn more programming best practices, and how to create good APIs? Then this is the class for you!

This class starts where the classical Microsoft classes leave off, covering more advanced topics with a focus on modern architecture and development practices, clean code and a focus on real-life use cases.
Using the skills learned on this course, you will be able to produce better quality software in a more efficient manner.

Kursen kan komma att genomföras Remote i Göteborg och Malmö
Informator Remote
Klicka på bilden för mer info om Remote!

Audience:

You are already developing software in C# and have some development experience on the .Net platform. Now, you want to gain a deeper understanding of your language and toolchain, and get up to date with the latest development practices.

Course outline:

Module 1: Visual Studio

  • Efficient Visual Studio usage, including convenient keyboard shortcuts
  • Making the most of the debugger

Module 2: An OO Refresher

  • Different ways of looking at OO
  • Inheritance and delegation
  • The role of interfaces
  • Extension methods
  • Common OO patterns
  • The SOLID principles

Module 3: Dependency Injection

  • The Inversion of Control principle
  • Implementing Dependency Injection "by hand"
  • The need for a DI container
  • Introduction to StructureMap, a DI container

Module 4: Generic Programming

  • Review of generics fundementals
  • Bulding a generic caching solution
  • Using generics to implement MVP, and integrating DI
  • Understanding co-variance and contra-variance

Module 5: Event Based Architectures

  • Why events?
  • Building an event aggregator using generics and DI

Module 6: Higher Order Programming

  • Delegates, simple and generic
  • Lambda expressions in depth, "closure"-style semantics and limitations
  • Higher order programming design patterns

Module 7: Reflection and attributes

  • Introduction to and motivation for reflection
  • Implementing custom attributes

Module 8: Aspect Oriented Programming

  • Introduction to AOP
  • AOP with PostSharp

Module 9: Text processing

  • Understanding unicode: codepoints, encodings, graphemes and more
  • Regular expressions: concept, syntax, practical examples
  • The Regex + Stack Pattern

Module 10: Advanced Linq

  • Understanding Linq: what it really is, scope
  • Method syntax vs query syntax
  • Joining
  • Grouping and constructing lookups
  • Set operations
  • Expression trees

Module 11: Concurrency and Parallelism

  • Understanding concurrency vs parallelism
  • Task vs data parallelism
  • Understanding locking and its impact on scalability
  • Concurrent data structures in .Net 4.0
  • The .Net Parallelism Library
  • Interlocked operations, CAS, building lock-free datastructures

Fakta

Kurs
T1116
Längd
3 dagar
Pris
20.450 kr (exkl. moms)
Bookmark and Share

Förkunskaper

You are already developing software in C# and have some development experience on the .Net platform. Now, you want to gain a deeper understanding of your language and toolchain, and get up to date with the latest development practices.

Kursmaterial

Course material in English

I samarbete med:

Kontakta oss
för mer information:

08 - 587 116 10 (Stockholm)
031 - 773 07 90 (Göteborg)
040-662 20 60 (Malmö)
info@informator.se