Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Аноним, Вы писали:
А>>Попались мне давеча книжки Александреску. Прочитав немного, понял, что плохо понимаю о чем идет речь: "шаблоны", "стратегии", "паттерны" и пр.
А>>Но интуиция подсказывает, что это то, чего не хватает мне, чтобы перейти с традиционного С/С++ программирования на новый более высокий уровень .
E>1) Мне нравится книжка Александреску (которая современное проектировнаие на C++). Но странною любовью нравится.
E>...
Зачастую есть такая тема. Иногда себя на этом ловлю. Но.
1. Александреску, по-моему, этого не делает, но Саттер вначале каждой книги пишет, что голова должна быть превыше всего, что всё о чём он пишет не должно заменять здравого смысла. Человек-разумный должен это понимать.
2. У каждого языка/инструмента/технологии есть своя область применимости. Это касается и того, о чём пишет Александреску, и языка с++ как такового, и Java, и ООП и БД. Вообще всего.
3. Чем шыре у специалиста кругозор, тем он может выбрать более вдекватное решение для конкретной задачи.
Т.ч. я считаю, что такой "наезд" на Современное проектирование не обоснован. Эти же мысли можно применить ко всему, он тут ни при чём.
Например, недавно мне надо было реализовать около 50 различных поведений (классов). Причём, если подумать, то каждый класс тз этого множество достаточно чётко разделяется на несколько аспектов. И существует по несколько реализаций каждого аспекта. Когда все эти реализации каждого аспекта перемножаются друг на друга и получается более 50 вариантов поведения. Как предлагаешь это реализовывать? При этом каждый аспект достаточно часто меняется независимо от других.
Или например фабрики. Недавно видел пару сотен строк кода для реализации обычной абструктной фабрики.