240 likes | 417 Views
Info. My name – Valera Kolupaev Email – Valera.Kolupaev@gmail.com Wave for questions - http:// bit.ly/bsu-dotnet-2010 All sources - https://code.google.com/p/bsu-epam-2010/. Learning roadmap. 20 Занятий. www. ASP .Net. App Design. Database. C#. Project. MSTest Test framework
E N D
Info • My name – Valera Kolupaev • Email – Valera.Kolupaev@gmail.com • Wave for questions - http://bit.ly/bsu-dotnet-2010 • All sources - https://code.google.com/p/bsu-epam-2010/
Learning roadmap 20 Занятий www ASP .Net App Design Database C# Project • MSTest Test framework • C# Delegates, Events, Extension Methods • Must-know types (Stopwatch, Regex, *Builder, *Stream) • Generics • Collections • Threading • XML
Day 1 • MSTest test framework • Delegates, Anonymous delegates • Events • Closures • Extension methods
MSTest Test framework Проблема:
MSTest - Решение Это можно делать только в тестах.
Delegates • Делегат – это указатель на функцию • Делегат можно сохранить в переменную • Делегат можно вызвать (это вызовет саму функцию)
Event – список Делегатов • Event – механизм для оповещения о событиях • Объявить («У нас есть чайник, который кипит») • Подписаться на оповещение («Скажи мне когда чайник закипел») • Вызвать («Чайник закипел!»)
Event в ASP.Netи WinForms Your Code Page Loaded Page Initialized Button Clicked
Standard Delegates • Action<T> • Action<T1, T2, …> - ничего не возвращают • Func<T> • Func<T1, T2, …> - возвращают T1
Extension methods • Extension methods – это метод, который можно добавить к уже сделанному классу, даже если он не наш
Var keyword • Var – ключевое слово для ленивых, оно позволяет не повторять тип в 2х местах: • Var – это не динамический тип. Ошибка компиляции
Task for day 1 • Класс OutputColorizerBuilder, для раскраски вывода на консоль. • Класс должен иметь 2 метода: • Extension method
Day 2 • Test Driven Development and NUnit • Least known .Net types • Collections • Linq2 Objects • Strategy pattern
Collections overview • Great collections guide is available at http://bit.ly/bm6bzi • All collections are notthread safe • Most used collections are List<T> and Dictionary<T1, T2> • Others are for performance/memory tuning
Linq to objects • Linq– “Language Integrated Query”, набор Extension Methods к IEnumerable, который существенно упрощает операции над коллекциями. • Показать основные операторы Linq (Aggr, Sum, Min, Max, Join, ToDict, ToLookup)
Day 3 • Advanced generics • Linq to xml • Threading • Lab!
Day 4 • Idisposable • Memory management • LOH • Generations • Memory leaks