Найти в Дзене
SaintCode Bootcamp

Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Обзор книги по программированию.

Кому читать: программистам (начиная с уровня middle), практикующие парадигму объектно-ориентированного программирования.

Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Основная задача ООП — сделать сложный код проще. Для этого программу разбивают на независимые блоки (объекты), которые представляют набор данных и функций.
Объектно-ориентированное проектирование — это метод создания таких моделей, которые фокусируют внимание на объектах, найденных в самой предметной области, и образуют объектно-ориентированную декомпозицию.
Паттерны (или шаблоны) проектирования описывают типичные способы решения часто встречающихся проблем при проектировании программ.

Пара слов об авторах: над книгой работала группа авторов (Джонсон Ральф, Хелм Ричард, Влиссидес Джон, Гамма Эрих). Все связаны с программированием и информатикой. Их команда также известна как "Банда Четырех". Я думала, за этим названием стоит какая-то сногсшибательная история (типа как "Цэх поэтов"), но ничего подобного на просторах интернета не нашла, кроме фразы одного из членов банды "Почему нас так называют? Кто знает. Как-то название просто прижилось".

Это команда дружных, юморных, образованных людей. Несмотря на технический склад книги, они придерживаются простого и "живого" стиля. Например, в предисловии вместо занудных наставлений пишут "Книга созревала довольно долго. Она повидала четыре страны, была свидетелем женитьбы трех ее авторов и рождения двух младенцев."

О чем книга:

Авторы первыми структурировали и всесторонне исследовали приемы объектно-ориентированного проектирования, ввели понятие порождающих, структурных и поведенческих паттернов, собрали вместе базовые из них. Книга стала классикой программной инженерии.

Авторы предлагают простые и элегантные решения типичных задач, возникающих в объектно-ориентированном проектировании.

Они поделили книгу на две логические части: в первой больше говорится о возможностях и недостатках объектно-ориентированного программирования, во второй представлено 23 классических шаблона проектирования.

Примеры в книге написаны на языках программирования C++ и Smalltalk. Почти для всех шаблонов есть пример с графическим интерфейсом. Авторы излагают принципы использования паттернов проектирования и приводят их каталог.

Все описанные паттерны используют стандартные возможности языков, но это уже готовые и проверенные решения, т.е. не надо изобретать велосипед.

Не волнуйтесь, если не полностью поймете книгу с первого чтения. Авторы в предисловии шутят, что сами ее не поняли с первого написания! Помните, что эту книгу нельзя прочитать один раз и положить на полку. К ней надо периодически возвращаться, чтобы материал усвоился.

Отзывы знакомых программистов:

"Прочитал от корки до корки. После этого способ организации кода значительно улучшился!"

"Это книга не для "внеклассного чтения", а для практического применения. Все описанные техники можно и нужно опробовать, чтобы врубиться."

"Прочтите эту книгу, если вы еще этого не сделали. Подчерпните все хорошее, но не забывайте, что с тех пор мир изменился."

Наука
7 млн интересуются