Шаблоны в программной инженерии

Активно занимаясь обучением зрелых, состоявшихся специалистов, нередко вынужден наблюдать искренний, но (увы!) запоздалый интерес к освоению проблематики, описанной в ИТ-литературе категории must read. Анализировать причины сложившегося — последнее дело, которое мы оставим за рамками заметки. Куда конструктивнее — познакомиться с самими источниками, о которых мне бы и хотелось поговорить. Сегодняшний разговор — о шаблонах, концепции сколь полезной, столь и неоднозначной. Достаточно сказать, что русское «шаблон» одновременно соответствует английским «template» и «pattern». Но обо всем по порядку…

Начнем с шаблонов как инструмента обобщенного программирования. В контексте языка C++ о них рассказывают:

  1. Прикладное введение: Прата С. Язык программирования C++. Лекции и упражнения, 6-е изд.: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2012. — 1248 с.: ил. (Гл. 8, 14).
  2. Классический технологический пример: Мюссер Д., Дердж Ж., Сейни А. C++ и STL. Справочное руководство: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2010. — 432 с.
  3. Углубленные вопросы: Александреску А. Современное проектирование на С++: Пер. с англ. — М.: Издательский дом «Вильямс», 2002. — 336 с.: ил.
  4. Углубленные вопросы (книга 2): Abrahams, D., Gurtovoy, A. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (Addison-Wesley Professional, 2004).
  5. Углубленные вопросы (книга 3)Vandevoorde, D., Josuttis, N. C++ Templates: The Complete Guide.(Addison-Wesley, 2002).

Освоили? Готовы читать литературу для архитекторов? Пожалуйста:

  1. Классический каталог 23 шаблонов ОО-проектирования «Банды четырех» (Gang of Four / GoF): Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования: Пер. с англ. — СПб.: Питер, 2001. — 368 с.: ил. (Языки программирования: С++, редко — Smalltalk; язык диаграмм: OMT, предшественник UML.)
  2. Еще один каталог из 47 шаблонов GoF и некоторых других: Гранд М.  Шаблоны проектирования в Java: Пер. с англ. — М.: Новое знание, 2004. — 559 с.: ил. (Язык программирования: Java; язык диаграмм: UML.)
  3. Набирающие популярность «Общие шаблоны распределения обязанностей в программных системах» (GRASP, General Responsibility Assignment Software Patterns): Ларман К. Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / 3-е изд.: Пер. с англ. — М.: ИД «Вильямс», 2013. — 736 с.: ил.

Продолжаем? Рефакторинг, говорите?

  1. Прикладной базис: Фаулер М. Рефакторинг: улучшение существующего кода: Пер. с англ. — СПб.: Символ-Плюс, 2003. — 432 с.: ил. (Язык программирования: Java.)
  2. Прикладная надстройка: Кериевски Дж. Рефакторинг с использованием шаблонов: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2006. — 400 с.: ил. (Язык программирования: Java.)

… И в завершение нашего небольшого обзора стека шаблонов:

  1. Обзор шаблонов объектно-ориентированного анализа: Fowler, M. Analysis Patterns: Reusable Object Models (Addison-Wesley Professional, 1996).
  2. Обзор шаблонов проектирования ИС уровня предприятия: Фаулер М. Шаблоны корпоративных приложений: Пер. с англ. — М.: ООО «ИД Вильямс», 2010. — 544 с.: ил.

Тем же, кто стеку шаблонов предпочитает стек блестящих работ Мартина Фаулера, рекомендуем:

  • Фаулер М., Скотт К. UML. Основы: Пер. с англ. — СПб.: Символ-Плюс, 2002. — 192 с.: ил.

Приятного чтения!

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.