E-Book Content
ББК 32.973.2-018-02 УДК 004.42 Т34
Тепляков С.
Т34
Паттерны проектирования на платформе .NET. — СПб.: Питер, 2015. — 320 с.: ил.
ISBN 978-5-496-01649-0 Паттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в современных языках программирования делает одни паттерны более важными, а значимость других сводит к минимуму. Цель данной книги — показать, как изменились паттерны проектирования за это время, как на них повлияло современное увлечение функциональным программированием, и объяснить, каким образом они используются в современных .NET-приложениях. В издании вы найдете подробное описание классических паттернов проектирования с особенностями их реализации на платформе .NET, а также примеры их использования в .NET Framework. Вы также изучите принципы проектирования, известные под аббревиатурой SOLID, и научитесь применять их при разработке собственных приложений. Книга предназначена для профессиональных программистов, которые хотят изучить особенности классических принципов и паттернов программирования с примерами на языке C# и понять их роль в разработке современных приложений на платформе .NET.
12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
ББК 32.973.2-018-02 УДК 004.42
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги.
ISBN 978-5-496-01649-0
© ООО Издательство «Питер», 2015
Краткое содержание Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Кому адресована эта книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Как читать эту книгу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Отзывы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Часть I. Паттерны поведения Глава 1. Паттерн «Стратегия» (Strategy) . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Глава 2. Паттерн «Шаблонный метод» (Template Method) . . . . . . .
37
Глава 3. Паттерн «Посредник» (Mediator) . . . . . . . . . . . . . . . . . . . . . . . . .
57
Глава 4. Паттерн «Итератор» (Iterator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4
Краткое содержание
Глава 5. Паттерн «Наблюдатель» (Observer) . . . . . . . . . . . . . . . . . . . . . .
83
Глава 6. Паттерн «Посетитель» (Visitor) . . . . . . . . . . . . . . . . . . . . . . . . . .
100
Глава 7. Другие паттерны поведения . . . . . . . . . . . . . . . . . . . . . . . . . . . .
112
Часть II. Порождающие паттерны Глава 8. Паттерн «Синглтон» (Singleton) .