Разделы презентаций


Курс.NET

Содержание

Орг. вопросыВключить камеруОтметить присутствующихСлед. Занятие – 28 июняПосле регистрации на гитхабе просьба сообщить ссылку на репозиторий (можно синуть сообщение мне в контакте или написать Юре письмо со сслыкой)

Слайды и текст этой презентации

Слайд 1Курс .NET

Курс .NET

Слайд 2Орг. вопросы
Включить камеру
Отметить присутствующих
След. Занятие – 28 июня
После регистрации на

гитхабе просьба сообщить ссылку на репозиторий (можно синуть сообщение мне

в контакте или написать Юре письмо со сслыкой)
Орг. вопросыВключить камеруОтметить присутствующихСлед. Занятие – 28 июняПосле регистрации на гитхабе просьба сообщить ссылку на репозиторий (можно

Слайд 3Хорошая книга
97 этюдов для архитекторов программных систем
Нил Форд, Майкл Найгард,

Билл де Ора

Хорошая книга97 этюдов для архитекторов программных системНил Форд, Майкл Найгард, Билл де Ора

Слайд 4Хорошая книга
Савина Романа
Тестирование DOT COM или Пособие по жестокому

обращению с багами в интернет-стартапах

Хорошая книгаСавина Романа Тестирование DOT COM или Пособие по жестокому обращению с багами в интернет-стартапах

Слайд 5Задача
Поприкалываться с рефлексией.
Суть: надо написать универсальный (с небольшими ограничениями) «сохранятель»

и загрузчик данных.
Задача: есть класс. Надо его сохранить в XML

и восстановить из него, как при бинарное сериализации

ЗадачаПоприкалываться с рефлексией.Суть: надо написать универсальный (с небольшими ограничениями) «сохранятель» и загрузчик данных.Задача: есть класс. Надо его

Слайд 6Первый шаг
Сгенерировать XML.
Пусть именем элемента будет тип объекта, а дочерними

узлами – его поля (название – название поля, значение –

значение поля)
Первый шагСгенерировать XML.Пусть именем элемента будет тип объекта, а дочерними узлами – его поля (название – название

Слайд 7Второй шаг - восстановить
Обратить внимание на TypeDescriptor

Второй шаг - восстановитьОбратить внимание на TypeDescriptor

Слайд 8Git. Супер краткое руководство

Git. Супер краткое руководство

Слайд 9Системы контроля версий (централизованные) CVS, Subversion и Perforce.
есть центральный сервер.

Много лет это было стандартом для систем контроля версий
все

знают, кто и чем занимается в проекте. У администраторов есть чёткий контроль над тем, кто и что может делать.
администрировать ЦСКВ легко.

централизованный сервер является уязвимым местом всей системы.


Системы контроля версий (централизованные)  CVS, Subversion и Perforce.есть центральный сервер. Много лет это было стандартом для

Слайд 10Распределенные системы контроля версий (Git, Mercurial, Bazaar или Darcs)
клиенты не

просто выгружают последние версии файлов, а полностью копируют весь репозиторий.

Каждый раз, когда клиент забирает свежую версию файлов, он создаёт себе полную копию всех данных


можно работать с несколькими удалёнными репозиториями
Так, в одном проекте можно одновременно вести несколько типов рабочих процессов, что невозможно в централизованных системах.


Распределенные системы контроля версий (Git, Mercurial, Bazaar или Darcs)клиенты не просто выгружают последние версии файлов, а полностью

Слайд 11Ставим программу Git Extentions

Ставим программу Git Extentions

Слайд 122. Заходим на https://github.com/
Регистрируемся. После регистрации

2. Заходим на https://github.com/Регистрируемся. После регистрации

Слайд 14Выбираем Create Repository

Выбираем Create Repository

Слайд 16Кликаем по созданию репозитория (под пунктом 1)
Вводим свободное имя репозитория

+ описание

Кликаем по созданию репозитория (под пунктом 1)Вводим свободное имя репозитория + описание

Слайд 18Нажимаем create repository

Нажимаем create repository

Слайд 20Переключаемся на http

Переключаемся на http

Слайд 21Запускаем Git Extentions

Запускаем Git Extentions

Слайд 30Во время передачи изменений затребует ввести имя пользователя и пароль

от гитхаба

Во время передачи изменений затребует ввести имя пользователя и пароль от гитхаба

Слайд 31ORM
Object Relation Mapping

ORMObject Relation Mapping

Слайд 32Плюс ORM
Абстракция над конкретным SQL
Минус – надо знать, поддерживает ли

ORM данный SQL
LINQ to SQL без костылей работает только

с MSSQL
Entity работает с многими СУБД
Минус – нельзя использовать «фичи» конкретного SQL
Плюс – снижается порог вхождения в проект
Минус – мало варианций
Плюс ORMАбстракция над конкретным SQLМинус – надо знать, поддерживает ли ORM данный SQL LINQ to SQL без

Слайд 33Плюс ORM
Легкость генерации
В VS что бы сгенерировать модель надо сделать

два-десять кликов или автоматически по Pre Build Event
Минус Event –

то, что возможно потребуется два построения – для генерации и для использования результатов генерации
Плюс ORMЛегкость генерацииВ VS что бы сгенерировать модель надо сделать два-десять кликов или автоматически по Pre Build

Слайд 34Плюс ORM
Получение объектно-ориентированного кода
Минус – синтаксического контроля атрибутов, которые производят

сопоставление БД нет
Минус - Часто большой объем автогенерируемого кода, который

понижает процент покрытия тестами
Плюс – нет строк, всплывающая подсказка
Плюс ORMПолучение объектно-ориентированного кодаМинус – синтаксического контроля атрибутов, которые производят сопоставление БД нетМинус - Часто большой объем

Слайд 35Плюс ORM
Как правило реализуется на ленивых вычислениях

Плюс ORMКак правило реализуется на ленивых вычислениях

Слайд 36Минус ORM
Не любое компилируемое выражение может быть переведено в SQL

выражение

Минус ORMНе любое компилируемое выражение может быть переведено в SQL выражение

Слайд 37Минус ORM
Нельзя оптимизировать получаемый код

Минус ORMНельзя оптимизировать получаемый код

Слайд 38Минусы ORM
Возможные задержки в команде из-за невозможности скомпилировать, пока другой

человек меняет свою часть

Минусы ORMВозможные задержки в команде из-за невозможности скомпилировать, пока другой человек меняет свою часть

Слайд 39Минусы ORM
Неточность отображения
В MSSQL есть два типа даты – с

точностью до 3х миллисекунд и с точностью до минуты. В

.NET аналога нет – все преобразуется в DateTime
Тип действия на обновление и удаление не отображается в код на C#
Минусы ORMНеточность отображенияВ MSSQL есть два типа даты – с точностью до 3х миллисекунд и с точностью

Слайд 40В любом случае
Тесты, тесты, тесты…

В любом случаеТесты, тесты, тесты…

Слайд 41Минус VS 2012
Раньше редактор таблиц в БД и самой БД

был проще, сейчас придется пользоваться SQL Management Studio

Минус VS 2012Раньше редактор таблиц в БД и самой БД был проще, сейчас придется пользоваться SQL Management

Слайд 42А вы знаете английский? Insert and Update = Delete + update

оказывается

А вы знаете английский? Insert and Update = Delete + update оказывается

Слайд 43Добавление источника данных (БД) в проект
Указание в Management Studio значения

по умолчанию для идентификаторов

Добавление источника данных (БД) в проектУказание в Management Studio значения по умолчанию для идентификаторов

Слайд 45Генерация LINQ to SQL
Результат – куча автосгенерированного кода
Сгенерированный код нацелен

на расширение через Partial классы
Имеет несколько конструкторов
[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="ORM_TestTable")]
public System.Data.Linq.Table ChildTables
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ChildTable")]
public partial

class ChildTable : INotifyPropertyChanging, INotifyPropertyChanged
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_id", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
public System.Guid id
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="ChildTable_MainTable", Storage="_ChildTable", ThisKey="childId", OtherKey="id", IsForeignKey=true, DeleteRule="CASCADE")]
public ChildTable ChildTable
2 таблицы – 350 строк кода
Генерация LINQ to SQLРезультат – куча автосгенерированного кодаСгенерированный код нацелен на расширение через Partial классыИмеет несколько конструкторов[global::System.Data.Linq.Mapping.DatabaseAttribute(Name=

Слайд 46Логирование результатов запросов
Какая логическая гадость в примере?

Логирование результатов запросовКакая логическая гадость в примере?

Слайд 47Ответ – какого … делает логирование? Оно должно быть инкапсулировано

Ответ – какого … делает логирование? Оно должно быть инкапсулировано

Слайд 48Генерация Entity
Строка подключения содержит намного больше информации, чем LINQ.
Сравнить строку

подключения LINQ и Entity
Стратегия кодогенерации, удаление tt файлов

Генерация EntityСтрока подключения содержит намного больше информации, чем LINQ.Сравнить строку подключения LINQ и EntityСтратегия кодогенерации, удаление tt

Слайд 49Генерация Entity (скриншот)

Генерация Entity (скриншот)

Слайд 50CRUD для LINQ
Проблема со значением по умолчанию

CRUD для LINQПроблема со значением по умолчанию

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика