Kurs: MasterClass C# Development

Klasserom3 dagerKursNorsk

Dette kurset har ikke oppført noen dato for studiestart. Bruk skjemaet under for å kontakte leverandør for nærmere informasjon.

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? Do you want to understand the new asynchronous programming support in C# 5? 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.



Module 1: Visual Studio

  • Efficient Visual Studio usage, including convenient keyboard shortcuts
  • Exploring the debugger: breakpoints, tracepoints, breaking on exceptions, and more


Module 2: An OO Refresher

  • Different ways of looking at OO
  • Inheritance, composition and delegation
  • Real classes vs. DTOs
  •   Walkthrough: tour allocator


Module 3: Interfaces and OO Patterns

  • The role of interfaces
  • Common OO design patterns
  •   The SOLID principles


Module 4: Dependency Injection

  • The Inversion of Control principle
  • Implementing Dependency Injection "by hand"
  • Why to consider using a DI container
  •   Introduction to StructureMap, a DI container


Module 5: Generic Programming

  • Review of creating generic types
  • Using generic constraints
  •   Walkthrough: using generics to implement MVP


Module 6: Event Based Architectures

  • Why decouple using events?
  • Walkthrough: building an event aggregator using generics and DI


Module 7: Higher Order Programming

  • What is Higher Order Programming?
  • The Action and Func generic delegate types
  • Lambda expressions in depth, closure semantics and limitations
  • Higher order programming design patterns


Module 8: Reflection and attributes

  • Introduction to reflection
  • Walkthrough: dynamic object builder
  • Implementing custom attributes


Module 9: Text processing

  • Understanding unicode: codepoints, encodings, graphemes and more
  • Regular expressions: concept, syntax, practical examples
  • The Regex + Stack + Action Pattern
  • Walkthrough: a simple wiki markup parser, done right


Module 10: Advanced Linq

  • Method syntax vs query syntax
  • Joining
  • Grouping
  • Walkthrough: train timetable engine
  • Set operations
  • Expression trees


Module 11: Asynchrony

  • Concurrency vs. asynchrony vs. parallelism
  • CPU-bound vs. IO-bound operations
  • The Task abstraction
  • Continuation Passing Style and ContinueWith
  • The C# 5 async and await keywords


Module 12: Parallelism

  • Why write parallel software?
  • Task vs data parallelism
  • How hardware affects parallel performance
  • Primitives: threads, thread pools and locks
  • Interlocked operations and lock freedom
  • Tasks revisited
  • Concurrent collections: a quick glance
  • PLINQ: a quick glance



Good knowledge of programming in C# and. NET. You should have worked with. NET for at least 3 years.



3 dager


About the instructor: Jonathan Worthington  From business applications to compiler writing, and from .Net to Perl, Jonathan has a wide range of software development experience. He deeply believes that good development has to be a strongly holistic activity, drawing on mathematics, engineering, linguistics, economics, psychology and more. By looking at insights from many fields, he works hard to deliver solid and maintainable software solutions. Originally from the UK, and having spent time in Spain and Slovakia, Jonathan is currently based in Sweden. Jonathan is also a very active open source contributor, and a popular speaker at a range of international workshops and conferences.


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 language features and development practices.


MasterClass C# Development hos Glasspaper
Start her
100% sikkert skjema
Tar ett minutt å fullføre
Hurtig respons

Felt som er merket med * må fylles ut
Ønsket valuta *
Dato og sted *
Hvor mange? (Gavekort)
Kampanjekoden er korrekt og rabatt er lagt til.
Fant ingen kampanje. Skrev du kampanjekoden riktig?
Kampanjekode er korrekt, men kampanjen gir ikke bedre pris enn nåværende kampanje.
Deltaker {{$index+1}}
Filen ble lastet opp
Filen ble fjernet
Laster opp... {{item.upload_progress}}%
{{ file.file.name }} Fjern
{{total_price | fprice}} kr {{currency}}
{{total_price-total_with_discount | fprice}} kr {{currency}}
{{total_with_discount | fprice}} kr {{currency}}
{{total_vat | fprice}} kr {{currency}}

MVA per produkt:

Betalingsmåte *
Number: 1+2 *
Vennligst rett opp følgende og forsøk igjen
Vent til opplasting av fil er ferdig

Dette skjemaet er 100% sikkert.
Glasspaper vil snart kontakte deg og bekrefte!


Åpen deltakerdiskusjon om kurset eller emnet

Del gjerne din erfaring eller tanker om dette kurset eller temaet med andre!

Anbefalinger fra andre brukere