T1116

Ladda ner som PDF

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? Do you want to understand the new asynchronous programming support in C# 5? Then this is the class for you!

Prior knowledge

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.

Language

The course is taught in Swedish (Contact us if you prefer English).

Courseware

Course material in English included.

Informator Training Cloud

Our training portal supports your development throughout the training. The portal saves you time and is designed to give you a more effective learning experience - leading to better results and greater knowledge enforcement after the course. Read more >

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.

Course outline:

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... Läs mer

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.

Course outline:

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
"Har inte mycket att tillägga förutom att läraren var grymt duktig." 
/ en nöjd deltagare 18/5-2015
Citat från tidigare deltagare

Utbildningen levereras i samarbete med

Kurs-ID: T1116
Längd: 3 dagar
Pris exkl moms: 26 950 kr

Frågor om kursen?

Har du frågor om kursens innehåll, leveransdatum/ort eller behöver en företagsanpassad variant? Fyll i formuläret nedan!


Kan betalas med:
TRAINING CARD

Ort och datum

Stockholm
7 dec-9 dec
Boka nu!
13 feb-15 feb
Boka nu!
8 maj-10 maj
Boka nu!
Göteborg
7 dec-9 dec R
Boka nu!
13 feb-15 feb R
Boka nu!
8 maj-10 maj R
Boka nu!
Malmö
7 dec-9 dec R
Boka nu!
13 feb-15 feb R
Boka nu!
8 maj-10 maj R
Boka nu!
Cloud Access
i Läs mer

Delta på kursen från ditt hem, jobb eller annan plats.

7 dec-9 dec
Boka nu!
13 feb-15 feb
Boka nu!
8 maj-10 maj
Boka nu!

Tipsa