Шаблони за дизайн на платформата .NET - Издателство Асеневци
   
Шаблони за дизайн на платформата .NET
zoom Увеличи изображението

Шаблони за дизайн на платформата .NET

Цена: 24.95 лв.
+ 2.90 лв. за доставка
ISBN: 978-619-7356-13-7
Автор: Сергей Тепляков
Корица: Мека
Страници: 328
Година на издаване: 2017 г.
Издател: Асеневци
Количество: 

Анотация

Шаблоните за дизайн са важен инструмент в арсенала на разработчика, тъй като се базират на фундаменталните принципи на проектирането. Появата на нови конструкции в съвременните езици за програмиране правят едни шаблони по-важни, а важността на други намалява.

В книгата ще намерите подробно опи­сание на класическите шаблони за дизайн. Разглеждат се по няколко възможни подхода за реализирането на отделните шаблони - от класическите, до тези, които са по-подходящи за платформата .NET. Също така ще изучите принципите за проектиране, известни под съкращението SOLID, и ще се научите да ги прилагате при разработването на собствени приложения.

В качеството на целева платформа се използват .NET Framework и езика C#. Част от материала е силно обвързана с особеностите на платформата и езика за програмиране. Въпреки това, ако вашият основен език е C++ или Java, книгата пак ще ви бъде полезна, тъй като съществена част от нея е посветена на въпроси на дизайна, които не зависят пряко от езика на програмиране.

 

За автора

Сергей Тепляков се занимава с разработването на програмен софтуер повече от десет години. За това време той е изминал пътя от младши програмист на вградени системи до архитект на една от водещите аутсорсингови компании в Европа, след което се прехвърля в отдела за разработчици (DevDiv) на Microsoft.
Автор е на добре известния блог в Рунет, посветен на програмирането – Programming Stuff, в който са публикувани стотици статии. През 2011 г. придобива титлата Microsoft C# MVP, от която се лишава през 2014 г., когато се прехвърля на работа в Microsoft. Основните му интереси са насочени в областта на проектирането на системи, прагматичното използване на принципите и шаблоните за дизайн, а също така и в съвместяването на обектно-ориентираното и функционалното програмиране.

 

Съдържание

Шаблони за дизайн на платформата .NET...9
   За автора...9
   Към кого е насочена тази книга?...10
   Как трябва да се чете тази книга?...11
   Отзиви...11
   Благодарности...12

Предисловие...13
   GoF шаблоните на платформата .NET...13
   Отношението към шаблоните за дизайн...14
   Фреймуъркове за шаблони...16
   Гъвкавост vs. конкретност...17
   Кому е нужна още една книга за шаблоните?...18

 Част I Поведенчески шаблони

Глава 1. Шаблонът „Стратегия“ (Strategy)...20
   Мотивация...20
   Варианти за реализация в .NET ...22
   Обсъждане на шаблона "Стратегия"...24
    Приложение...27
   Примери в .NET Framework...28

Глава 2. Шаблонът „Шаблонен метод“ (Template Method)...29
   Мотивация...29
   Варианти на реализация в .NET ...31
   Обсъждане на шаблона "Шаблонен метод"...36
   Приложение...42
   Примери в .NET Framework...43
   Допълнителна информация...43

Глава 3. Шаблонът „Посредник“ (Mediator)...50
   Мотивация...50
   Обсъждане на шаблона "Посредник"...53
   Приложение...60
   Кога третият е излишен?...60
   Примери в .NET Framework...61

Глава 4. Шаблонът „Итератор“ (Iterator)...62
   Мотивация...62
   Обсъждане...64
   Използване на итератори в цикъла foreach...71
   Приложение...76
   Примери в .NET Framework ...77

Глава 5. Шаблонът „Наблюдател“ (Observer)...78
   Общи сведения...78
   Мотивация...79
   Варианти на реализация...81
   Обсъждане на шаблона "Наблюдател"...87
   Наблюдател във вид на специализиран интерфейс...89
   Приложение...93
   Примери в .NET Framework ...94

Глава 6. Шаблонът „Посетител“ (Visitor)...95
   Мотивация ...95
   Обсъждане...99
   Приложение...106
   Примери в .NET Framework ...107

Глава 7. Други поведенчески шаблони...108
   Шаблонът "Команда"...108
   Шаблонът "Състояние"...110
   Шаблонът "Верига отговорности"...112
   Примери в .NET Framework...114

ЧАСТ II Създаващи шаблони

Глава 8. Шаблонът „Сек“ (Singleton)...118
   Мотивация...118
   Варианти за имплементация в .NET...119
   Обсъждане на шаблона "Сек"...125
   Приложение: шаблон или антишаблон...131
   Примери в .NET Framework ...132
   Допълнителни връзки...133

Глава 9. Шаблонът „Абстрактна фабрика“ (Abstract Factory)...134
   Мотивация ...134
   Обсъждане на шаблона "Абстрактна фабрика"...138
   Приложение на шаблона "Абстрактна фабрика"...140
   Примери в .NET Framework ...141

Глава 10. Шаблонът „Метод Фабрика“ (Factory Method)...142
   Мотивация...142
   Диаграма на шаблона "Метод Фабрика"...144
   Варианти на реализация...146
   Обсъждане на шаблона "Метод фабрика"...149
   Приложение на шаблона "Метод фабрика"...154
   Примери в .NET Framework ...156

Глава 11. Шаблонът „Строител“ (Builder)...157
   Мотивация...157
   Особености на реализацията в .NET ...161
   Обсъждане на шаблона "Строител"...163
   Приложение ...170
   Примери в .NET Framework...171
   Допълнителна информация...171

  ЧАСТ III Структурни шаблони

Глава 12. Шаблонът „Адаптер“ (Adapter)...186
   Мотивация...186
   Обсъждане на шаблона "Адаптер"...189
   Приложение ...194
   Примери в .NET Framework ...194

Глава 13. Шаблонът „Фасада“ (Facade)...196
   Мотивация...196
   Обсъждане на шаблона "Фасада"...198
   Приложение...199
   Примери в .NET Framework ...199

Глава 14. Шаблонът „Декоратор“ (Decorator)...201
   Мотивация...201
   Обсъждане на шаблона "Декоратор"...205
   Приложение ...209
   Примери в .NET Framework ...210
   Допълнителна информация...210

Глава 15. Шаблонът „Композиция“ (Composite)...215
   Мотивация...215
   Обсъждане на шаблона "Композиция"...220
   Приложение ...221
   Примери в .NET Framework ...222

Глава 16. Шаблонът „Пълномощно“ (Proxy)...223
   Мотивация...223
   Обсъждане на шаблона "Пълномощно"...225
   Приложение ...228
   Примери в .NET Framework ...228
   Част IV Принципи за дизайн

Глава 17. Принцип за единствена отговорност...233
   За какво е необходим SRP?...235
   Принципът за единствена отговорност в практиката...236
   Типични примери за нарушаване на SRP...244
   Изводи...245

Глава 18. Принцип „отворен/затворен“...246
   Бъркотията с определенията...247
   Какъв проблем е призван да реши принципът "отворен/затворен"?...251
   Принципът "отворен/затворен" в практиката...252
   Разширяемост: обектно ориентиран и функционален подход...259
   Типични примери за нарушаване на принципа "отворен/затворен"...262
   Изводи...263

Глава 19. Принцип на заместване на Лисков...264
   За какво е необходим принципът на заместване на Лисков?...266
   Класически пример за нарушаване: квадрати и правоъгълници...267
   Принципът на заместване на Лисков и контрактите . 269
   За сложностите на наследяването в реалния свят ...270
   Допълнителна информация...271
   Кога наследяването е прекалено малко?...274
   Принципът на заместване на Лисков в практиката...276
   Типични примери за нарушаване на LSP...279
   Изводи...280
   Допълнителни връзки...281

Глава 20. Принцип за разделяне на интерфейсите...282
   За какво е необходим принципът за разделяне на интерфейсите?...283
   SRP vs. ISP...286
   Принципът за разделяне на интерфейсите в практиката...287
   Типични примери за нарушаване на ISP...290
   Изводи...291

Глава 21. Принцип за обръщане на зависимостите...292
   Интерфейси ...292
   Слоеве...294
   Наблюдатели...296
   За какво служи принципът за обръщане на зависимостите?...299
   Пазете се от неправилно разбиране на DIP...301
   Тестване на решението vs. накърняване на капсулацията...302
   Принципът на обръщане на зависимостите в практиката...304
   Примери за нарушаване на принципа на обръщане на зависимостите...309
   Изводи...309
   Допълнителна информация...309
   Допълнителни връзки...314

Глава 22. Размисли за принципите за дизайн...315
   Използване на принципите за дизайн...317
   Правилно използване на принципите за дизайн...319
   Антипринципи за дизайн...321

Заключение...322
Източници на информация ...324
   Книги за дизайн и ООП...324
   Статии...328
   

 

Company MAXXmarketing GmbH