C# Master Class


Vill du bemästra C# och Visual Studio? Vill du se hur enkelt och effektivt det är att implementera moderna designmönster? Vill du lära dig hur experterna programmerar, och hur de skapar bra APIer? Då är detta kursen för dig!

Denna kurs tar vid där de klassiska Microsoft-kurserna slutar, och omfattar mer avancerade ämnen med fokus på modern arkitektur och praktisk utveckling, ren kod och verkliga situationer. Med de kunskaper som lärs ut på kursen, kommer du att kunna producera kvalitativt bättre program på ett effektivt sätt.

Dag 1

Being Effective with Visual Studio

  • Navigation and editing tips and tricks
  • Using the debugger

Classes: outside-in

  • The nature of object orientation
  • Encapsulation and hiding
  • Dynamic objects vs. class-based OO
  • What comes first: classes, methods, or fields?
  • Responsibility, and the Single Responsibility Principle
  • Invariants
  • Using Visual Studio's stubbing features
  • Command Query Segregation
  • Tell, don't ask

Relating objects

  • Late binding: the power of not knowing
  • Composition and aggregation
  • The Open Closed Principle applied
  • Interfaces, and the Interface Segregation Principle
  • Inheritance, and the Liskov Substitution Principle
  • Some common design patterns and their application

Dependency Inversion

  • The Dependency Inversion Principle
  • Coping with time by following the DIP
  • Coping with persistence by following the DIP
  • A few words on DI containers

Dag 2

Generic Programming

  • Creating generic classes
  • Inheriting from generic classes
  • Using generic constraints
  • Generic interfaces
  • Generic methods
  • Using generics to implement a presentation pattern

Higher Order Programming

  • What is Higher Order Programming?
  • Lambdas expressions
  • Closure semantics, and its uses
  • Action and Func generic delegate types
  • Function generators

Reflection and attributes

  • Application domains, assemblies, types, and members
  • Reflection types
  • Walkthrough: dynamic object builder
  • Implementing custom attributes

Putting the pieces together

  • Implementing the event aggregator pattern using generic programming, higher order programming, and reflective programming

Dag 3

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

Advanced Linq

  • Approaching problems from a Linq perspective
  • Method syntax vs. query syntax
  • Lazy evaluation: benefits and dangers
  • Walkthrough: train timetable lookup engine
  • Set operations
  • A quick look at expression trees

Asynchrony

  • What is asynchronous programming?
  • CPU-bound vs. IO-bound operations
  • The Task abstraction, and task-based asynchrony
  • Continuation Passing Style and ContinueWith
  • The C# 5 async and await keywords

Parallelism and Concurrency

  • Concurrency vs. parallelism
  • Locks: when you need them, and how to apply them
  • Data parallelism with parallel iteration and PLINQ
  • Task parallelism with Tasks
  • A quick look at the concurrent collections

Kurskod: T320
Kurslängd: 3 dagar
Pris: 25 970 SEK

Dela



BOKA NU

Kursschema

Stockholm
2016
12-okt
7-dec

Malmö
2016
26-sep

Målgrupp

Utvecklare i C# med .NET-erfarenhet, som vill få djupare förståelse i språk och verktyg samt uppdateras på senaste utvecklingsmetoder.

Förkunskaper

God kännedom om programmering i C# och .NET. Du bör ha jobbat med .NET i minst 3 år.

Liknande kurser

Lärare

Eric Lavesson Analytisk och kvalitetsmedveten konsult med en passion för programmering och webbadministrering Tore Nestenius Hjälper företag och organisationer med avancerad problemlösning och effektivisering."

Kontakta oss

Kontakta oss gärna för mer information:
Tel: 040-61 70 720
info@edument.se
Alla priser ex moms