Александр Шевчук, Дмитрий Охрименко, Андрей Касьянов"Design Patterns via C#"

Примеры использования паттернов на C#.

Александр Шевчук, Дмитрий Охрименко, Андрей Касьянов»Design Patterns via C#» ITVDN, 2015 год, 228 стр.(10,1 мб. pdf)

Книга «Design Patterns via C#» не является единственным изданием, описывающим паттерны проектирования, издание: «Приемы объектно-ориентированного проектирования. Паттерны проектирования», авторами которого являются Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес, вышедшее несколько лет назад стала библией программистов и является уникальным в своей области трудом по объектно-ориентированному проектированию. Каждый представленный в ней паттерн – это исключительный и отточеный шаблон, который необходимо использовать и ему следовать. На данный момент трудно найти замену для данной книги. Книга «Приемы объектно-ориентированного проектирования. Паттерны проектирования» — это научная разработка, заложившая фундамент в основание эталонного принципа объектно-ориентированного проектирования.

Но для разработчика не всегда достаточно только стандартных программных решений. Не менее важным является выбор программной архитектуры.Такой может служить платформа Microsoft .Net. Common Language Runtime (CLR ) + Framework Class Library(FCL), это и есть платформа .NET. Многие конструкции паттернов были использованы для реализации расширеных библиотек, входящих в FCL. Другие же нашли применение в языковой структуре и механизме CLR. Особенности устройства и работы исполняющей среды CLR очень хорошо описаны в книге «CLR via C#», Джеффри Рихтера. Эта книга — энциклопедия знаний методов работы архитектуры CLR с использованием языка C#. Лучшей в данный момент нет. В использовании паттернов в разработках на C# , есть своя специфика, и лучше всего эти механизмы описаны в книге Джеффри Рихтера — «CLR via C#».

Цели, же книги «Design Patterns via C#» представлены как разъяснения на более доступном уровне определений и правил, из книги «Приемы объектно-ориентированного проектирования. Паттерны проектирования». Так же показать возможности языка C# в реализации смысловой идеи которая в виде отрывков-кода на языке C++ реализовалась в книге «Приемы объектно-ориентированного проектирования. Паттерны проектирования», при этом не меняя по возможности оригинальную идею. Показать примеры диаграммами в UML, с использованием среды Microsoft Visual Studio. Рассказать о разных вариантах использования конструкций языка C# в паттернах, а так же типов FCL и механизмов CLR. «Design Patterns via C#» можно считать дополнением к книге «Приемы объектно-ориентированного проектирования. Паттерны проектирования» и, читать обе книги, обращаясь к ней за разъяснениями и описанием примеров на языке C#.

Оглавление книги
Предисловие 15
От авторов 15
Об авторах 16
Благодарности 17
Принятые в книге обозначения 18
Технические рекомендации 18
Дополнительные ресурсы 18

Глава 1. Введение 19
1.1. Понятие паттерна проектирования 19
Определение 19
Метафора 19
1.2. Формат описания паттернов проектирования 21
Название 21
Также известен как 21
Классификация 21
Частота использования 21
Назначение 21
Введение 21
Структура паттерна на языке UML 21
Структура паттерна на языке C# 21
Участники 21
Отношения между участниками 21
Мотивация 22
Применимость паттерна 22
Результаты 22
Реализация 22
Пример кода 22
Известные применения паттерна в .Net 22
1.3. Каталог паттернов проектирования 23
Порождающие 23
Структурные 23
Поведенческие 23
1.4. Техники ООП 24
Фабрика — Продукт 24
Фасад — Подсистема 25
Диспетчеризация 26
1.5. Принципы организации каталога 28
Цель паттерна 28
Уровень паттерна 28
1.6. Рекомендации по изучению паттернов 29
1.7. Рекомендации по применению паттернов 29

Глава 2. Порождающие паттерны 30
Игра — Лабиринт 31
Паттерн Abstract Factory 35
Название 35
Также известен как 35
Классификация 35
Частота использования 35
Назначение 35
Введение 35
Структура паттерна на языке UML 40
Структура паттерна на языке C# 41
Участники 42
Отношения между участниками 42
Мотивация 43
Применимость паттерна 44
Результаты 44
Реализация 45
Пример кода игры «Лабиринт» 47
Известные применения паттерна в .Net 50
Паттерн Builder 51
Название 51
Также известен как 51
Классификация 51
Частота использования 51
Назначение 51
Введение 51
Структура паттерна на языке UML 52
Структура паттерна на языке C# 53
Участники 54
Отношения между участниками 54
Мотивация 56
Применимость паттерна 57
Результаты 57
Реализация 57
Пример кода игры «Лабиринт» 58
Известные применения паттерна в .Net 61
Паттерн Factory Method 62
Название 62
Также известен как 62
Классификация 62
Частота использования 62
Назначение 62
Введение 62
Структура паттерна на языке UML 63
Структура паттерна на языке C# 63
Участники 64
Отношения между участниками 64
Мотивация 64
Применимость паттерна 65
Результаты 66
Реализация 67
Пример кода игры «Лабиринт» 69
Известные применения паттерна в .Net 71
Паттерн Prototype 72
Название 72
Также известен как 72
Классификация 72
Частота использования 72
Назначение 72
Введение 72
Структура паттерна на языке UML 73
Структура паттерна на языке C# 73
Участники 74
Отношения между участниками 74
Мотивация 74
Применимость паттерна 76
Результаты 76
Реализация 77
Пример кода игры «Лабиринт» 79
Известные применения паттерна в .Net 82
Паттерн Singleton 83
Название 83
Также известен как 83
Классификация 83
Частота использования 83
Назначение 83
Введение 83
Структура паттерна на языке UML 84
Структура паттерна на языке C# 84
Участники 85
Отношения между участниками 85
Мотивация 85
Применимость паттерна 85
Результаты 86
Реализация 86
Пример кода игры «Лабиринт» 89
Известные применения паттерна в .Net 90

Глава 3. Структурные паттерны 91
Паттерн Adapter 92
Название 92
Также известен как 92
Классификация 92
Частота использования 92
Назначение 92
Введение 92
Структура паттерна на языке UML 93
Структура паттерна на языке C# 94
Участники 95
Отношения между участниками 95
Мотивация 96
Применимость паттерна 97
Результаты 97
Реализация 99
Пример кода 100
Известные применения паттерна в .Net 104
Паттерн Bridge 105
Название 105
Также известен как 105
Классификация 105
Частота использования 105
Назначение 105
Введение 105
Структура паттерна на языке UML 108
Структура паттерна на языке C# 108
Участники 109
Отношения между участниками 109
Мотивация 109
Применимость паттерна 110
Результаты 110
Реализация 111
Пример кода 112
Паттерн Composite 115
Название 115
Также известен как 115
Классификация 115
Частота использования 115
Назначение 115
Введение 115
Структура паттерна на языке UML 116
Структура паттерна на языке C# 117
Участники 118
Отношения между участниками 118
Мотивация 119
Применимость паттерна 120
Результаты 120
Реализация 120
Известные применения паттерна в .Net 124
Паттерн Decorator 125
Название 125
Также известен как 125
Классификация 125
Частота использования 125
Назначение 125
Введение 125
Структура паттерна на языке UML 126
Структура паттерна на языке C# 127
Участники 128
Отношения между участниками 128
Мотивация 129
Применимость паттерна 130
Результаты 130
Реализация 131
Известные применения паттерна в .Net 132
Паттерн Facade 133
Название 133
Также известен как 133
Классификация 133
Частота использования 133
Назначение 133
Введение 133
Структура паттерна на языке UML 135
Структура паттерна на языке C# 135
Участники 136
Отношения между участниками 136
Мотивация 136
Применимость паттерна 138
Результаты 138
Реализация 139
Пример кода 139
Паттерн Flyweight 145
Название 145
Также известен как 145
Классификация 145
Частота использования 145
Назначение 145
Введение 145
Структура паттерна на языке UML 149
Структура паттерна на языке C# 149
Участники 150
Отношения между участниками 150
Мотивация 151
Применимость паттерна 153
Результаты 153
Реализация 154
Пример кода 154
Известные применения паттерна в .Net 154
Паттерн Proxy 155
Название 155
Также известен как 155
Классификация 155
Частота использования 155
Назначение 155
Введение 155
Структура паттерна на языке UML 157
Структура паттерна на языке C# 157
Участники 158
Отношения между участниками 158
Мотивация 158
Применимость паттерна 159
Результаты 161
Реализация 162
Пример кода 162
Известные применения паттерна в .Net 163

Глава 4. Паттерны поведения 165
Паттерн Chain of Responsibility 166
Название 166
Также известен как 166
Классификация 166
Частота использования 166
Назначение 166
Введение 166
Структура паттерна на языке UML 167
Структура паттерна на языке C# 168
Участники 169
Отношения между участниками 169
Мотивация 169
Применимость паттерна 170
Результаты 170
Реализация 171
Пример кода 172
Паттерн Command 175
Название 175
Также известен как 175
Классификация 175
Частота использования 175
Назначение 175
Введение 175
Структура паттерна на языке UML 179
Структура паттерна на языке C# 180
Участники 180
Отношения между участниками 181
Мотивация 182
Применимость паттерна 183
Результаты 184
Реализация 184
Пример кода 186
Известные применения паттерна в .Net 189
Паттерн Interpreter 190
Название 190
Также известен как 190
Классификация 190
Частота использования 190
Назначение 190
Введение 190
Структура паттерна на языке UML 194
Структура паттерна на языке C# 194
Участники 195
Отношения между участниками 195
Паттерн Iterator 196
Название 196
Также известен как 196
Классификация 196
Частота использования 196
Назначение 196
Введение 196
Структура паттерна на языке UML 205
Структура паттерна на языке C# 206
Участники 208
Отношения между участниками 208
Мотивация 208
Применимость паттерна 209
Результаты 209
Реализация 210
Известные применения паттерна в .Net 214
Паттерн Mediator 216
Название 216
Также известен как 216
Классификация 216
Частота использования 216
Назначение 216
Введение 216
Структура паттерна на языке UML 218
Структура паттерна на языке C# 218
Участники 219
Отношения между участниками 219
Мотивация 219
Применимость паттерна 221
Результаты 221
Реализация 222
Пример кода 222
Паттерн Memento 223
Название 223
Также известен как 223
Классификация 223
Частота использования 223
Назначение 223
Введение 223
Структура паттерна на языке UML 225
Структура паттерна на языке C# 225
Участники 226
Отношения между участниками 226
Мотивация 226
Применимость паттерна 227
Реализация 227
Паттерн Observer 228
Название 228
Также известен как 228
Классификация 228
Частота использования 228
Назначение 228
Введение 228
Структура паттерна на языке UML 229
Структура паттерна на языке C# 230
Участники 232
Отношения между участниками 232
Мотивация 234
Применимость паттерна 235
Результаты 235
Реализация 236
Пример кода 241
Известные применения паттерна в .Net 245
Паттерн State 249
Название 249
Также известен как 249
Классификация 249
Частота использования 249
Назначение 249
Введение 249
Структура паттерна на языке UML 254
Структура паттерна на языке C# 254
Участники 255
Отношения между участниками 255
Мотивация 256
Применимость паттерна 264
Результаты 264
Паттерн Strategy 265
Название 265
Также известен как 265
Классификация 265
Частота использования 265
Назначение 265
Введение 265
Структура паттерна на языке UML 267
Структура паттерна на языке C# 267
Участники 268
Отношения между участниками 268
Применимость паттерна 269
Паттерн Template Method 270
Название 270
Также известен как 270
Классификация 270
Частота использования 270
Назначение 270
Введение 270
Структура паттерна на языке UML 272
Структура паттерна на языке C# 272
Участники 273
Отношения между участниками 273
Применимость паттерна 274
Результаты 274
Реализация 275
Паттерн Visitor 276
Название 276
Также известен как 276
Классификация 276
Частота использования 276
Назначение 276
Введение 276
Структура паттерна на языке UML 279
Структура паттерна на языке C# 280
Участники 281
Отношения между участниками 281
Применимость паттерна 282
Результаты 285
Реализация 286
Известные применения паттерна в .Net 286
Библиография 287

СкачатьPDF

 

Авторы о своей книге Design Patterns via C#. Видео

Похожая литература