классика, читать обязательно.
Давно хотел и желал эту книгу но все никак
не мог раскачаться. В конце-концов
прочитал, но не сказать что книга принесла
мне существенную практическую пользу.
Материал достаточно отвлеченный и
теоретизированный.
Читал второе и третье издание. Существенных
отличий между ними не нашел, а второе
издание 92-го (!) года; второе читалось
_легче_ за счет знакомого языка
программирования С++ против UML. с другой
стороны представлене о UML никогда не
помешает.
В процессе прочтения не покидало ощущение,
что предмет книги устарел в сравнении с
Agile и прочим новомодными мркобесиями,
т.к. методологически ориентированна на RUP
(Rational Unified Process).
На мой взгляд, если не для истории, то
лучше остановиться на GoF Паттерны
Проектирования или Эрике Эвансе.
P.S. Поражает эрудированность авторов и их
умение находить аналогии и паралели в
реальном мире в совершенно других областях
и привносить их в software engineering.
PP.SS. Большая библиография прилагается к
книге.
Книга в целом понравилась, помогла проникнуться теорией ООП, перевернула взгляд на мир: во время прочтения ко мне пришло понимание того, что абсолютно всё состоит из более мелких деталей, что для изучения объекта надо разобраться в его внутреннем устройстве и что программирование занимается моделированием объектов реального мира, потому оно так схоже с другими областями. Не то, что бы я этого и раньше не знал, просто теперь это всё стало для меня очень ясным и осознанным.
Читается тяжело (быстрее 10-15 (а порой и того меньше) страниц в час у меня читать не получалось), но если смотреть в словаре незнакомые термины (постоянно, даже если в начале чтения это слово уже смотрели, но позже опять подзабыли его значение) и переходить к чтению следующего раздела только после осмысления прочитанного (и/или после прочтения главы бегло пробегаться по её содержанию), то время будет потрачено не зря.
Минусом книги считаю излишне сложное повествования (возможно, судя по другим отзывам, виной тому плохой перевод).
P.S.: в конце книги глоссарий, так что значений многих терминов можно посмотреть там, однако определения некоторых терминов там не слишком внятные.
P.P.S: под полиформизмом подразумевается как перегрузка функций и операторов, так и возможность использования подклассов там, где в качестве операнда требуется объект родительского класса. Вообще, значение многих терминов может меняться в зависимости от контекста, так что учитывайте это, когда обнаружите, что термин, значение которого вы уже смотрели, вдруг оказывается совершенно вам не понятным.
Это одна из книг, которую следует читать не быстро, а вдумываясь в каждый абзац, каждое предложение и после прочтения главы хорошо подумать, а все ли понял?
Книга не только достойна всяческих похвал, но и... вобщем, мне не хватает словарного запаса, чтобы выразить свое восхищение этим талмудом.
Авторам : респект и уважуха, здоровья вам перцы и не старейте, такие вещи делаете, что просто диву даешься!
На мой взгляд это лучшая книга об объектно-ориентированном подходе в разработке ПО. Именно этот труд Буча помог мне разобраться в данной парадигме программирования. Я считаю что, книга "Объектно-ориентированный анализ и проектирование с примерами приложений" стоит на одном уровне с трехтомником Дональда Кнута.
Михаил
Дмитрий Андриянков
Дмитрий Ионов