- PVSM.RU - https://www.pvsm.ru -
Покупал эту книгу с двояким чувством. С одной стороны, интересная тема, с другой… ну что там может быть нового? Полистал, почитал, выхватил взглядом пару интересных мыслей и купил. И не жалею. Нового действительно ничего не узнал, но читать было интересно, так что, да, не жалею.
Надо сказать, что совсем мимо книга не прошла. В очередной раз вспомнил, почему программировать нужно на уровне интерфейсов. В очередной раз, корил себя, что не делаю этого. В очередной раз прочитал про прописные истины: наследование, полиморфизм и инкапсуляцию. Стал свидетелем очередного спора между наследованием и композицией. Пополнил коллекцию примеров задач, в которых ООП выгоднее процедурного стиля. Узнал парочку интересных книг, цитируемых автором. В общем, было не скучно, и даже полезно. Полезно для меня, но будет ли полезно для вас?
На обложке гордо красуется надпись “Уровень пользователя: Опытный”. Но мы-то с вами понимаем, что это скорее маркетинговый ход. Да и "уровень пользователя" — формулировка какая-то размытая: пользователь чего? Если вы опытный адепт ООП стиля — для вас эта книга будет скорее занимательным чтивом, где можно в чем-то согласится с автором, а в чем-то и поспорить. Если же вы чувствуете себя неуверенно во всем этом модном ООП — книга для вас. Я подготовил небольшой список пунктов, которые помогут понять, нужна ли вам эта книга.
Итак, эта книга для вас, если:
Если в общем, то впечатление о книге очень приятное. Примеры кода даны на Java. Лично я от этого языка далек, но код понятный, никаких вопросов не вызывал. В конце глав все примеры дублируются на С#. Книга не мудреная, написана легко, соответственно, легко читается. Много интересных примеров про животных, таксистов, и конечно же, про мосты. Все концепции разжеваны, но не в стиле: “Читатель дебил, давайте сто раз повторять ему одно и то же”.
Помогает легко перейти с процедурного стиля на ООП, разложить по полочкам накопившиеся знания, и дает тот необходимый багаж, который поможет в дальнейшем, более детальном изучении объектно-ориентированной парадигмы программирования.
Хочу выразить особую благодарность билетику на автобус, служившему мне верой и правдой, в качестве закладки, весь период чтения книги.
И в качестве бонуса, немного цитат из книги.
… программисты могут применять ровно столько объектно-ориентированных функций, сколько нужно для того, что бы сделать приложения непонятными для остальных программистов, как использующих, так и не использующих объектно-ориентированные языки.
Если вы поместите десять человек в одну комнату, и попросите каждого из них спроектировать что-то независимо от других, то получите десять абсолютно разных результатов проектирования — и в этом не будет ничего плохого.
Пожалуй наиболее важный момент при проектировании класса — определение его аудитории и пользователей.
… интерфейс хорошо спроектированного объекта описывает услуги, оказание которых требуется клиенту. Если класс не будет предоставлять полезных услуг пользователям, то его вообще не следует создавать.
Техническое задание должно обеспечить полное понимание системы для любого человека, прочитавшего этот документ. Техническое задание должно представлять полную систему и ясно описывать то, как система будет выглядеть.
Основная цель заключается в том, что бы всегда стремиться создать систему, которая будет гибкой, но не настолько сложной, что может рухнуть под собственной тяжестью.
Оглавление [1]
Первая глава [2]
Страничка на Ozon.ru [3]
Автор: voff
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/60676
Ссылки в тексте:
[1] Оглавление: http://static1.ozone.ru/multimedia/book_file/1009270214.pdf
[2] Первая глава: http://static.ozone.ru/multimedia/book_file/1009270241.pdf
[3] Страничка на Ozon.ru: http://www.ozon.ru/context/detail/id/26036833/
[4] Источник: http://habrahabr.ru/post/224087/
Нажмите здесь для печати.