Фримен паттерны проектирования


Скачать Фримен Эр., Фримен Эл., Сьерра К., Бейтс Б.

Фримен Эр., Фримен Эл., Сьерра К., Бейтс Б.

Рейтинг книги

9.67

(12)

10

В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию "Head First" издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.

Книга Герберта Шилдта «Java . Полное руководство» (Java SE 7, 8-е издание) предназначена для всех программистов — как для новичков, так и для профессионалов. Начинающий программист найдет в ней подробные пошаговые описания и множество чрезвычайно полезных примеров. А углубленное ра...

2012 год

19.38 МБ

6.3

скачиваний: 6432

Рассмотрена разработка программ для мобильных устройств под управлением операционной системы Google Android. Приведены базовые сведения о платформе Android. Описано программное обеспечение, необходимое для разработки Android-пpилoжeний. Рассмотрены основные компоненты приложений, использование базов...

2011 год

13.47 МБ

8.3

скачиваний: 5353

В этой книге описаны все основные средства языка C++ — от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм об...

2010 год

10.54 МБ

9.6

скачиваний: 10592

В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми...

2011 год

30.42 МБ

9.7

скачиваний: 5252

Первое издание этой книги вышло в свет во время проведения конференции Tech-Ed в 2001 г. в Атланте (шт. Джорджия). На тот момент платформа .NET пребывала в стадии бета-тестирования. Это вовсе не означает, что ранние издания этой книги не приносили пользу – так или иначе, но книга стала финалис...

2010 год

20.7 МБ

9.3

скачиваний: 8142

Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечиваемую им высокую скорость разработки. Он позволяет создавать эффективные и надежные проекты, которые легко интегрируются с программами и инструмент...

2011 год

12.21 МБ

8.6

скачиваний: 6429

Книга является одним из самых популярных в мире учебников по C++. Характерной ее особенностью является "раннее введение" в классы и объекты, т. е. начала объектно-ориентированного программирования вводятся уже в 3-й главе, без предварительного изложения унаследованных от языка C элементов ...

2008 год

18.49 МБ

9.2

скачиваний: 11281

"Изучаем Java" - это не просто книга. Она не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в...

2012 год

132.25 МБ

7.6

скачиваний: 4983

Книга представляет собой пособие, позволяющее быстро освоить приемы разработки и модификации прикладных решений на платформе "1С:Предприятие 8.2". На примере создания реального прикладного решения показана структура различных объектов системы, их назначения и методика использования. При...

2009 год

56.65 МБ

8.7

скачиваний: 10739

Книга является общепризнанным руководством для изучения языка С, который был в свое время разработан специально как язык реализации операционной системы UNIX. Приводится полное описание языка, ориентированное на его практическое изучение. Кроме того, дополнительно излагается C++ - язык, являющийся л...

2009 год

53.4 МБ

8.8

скачиваний: 5178

mexalib.com

Фримен, Сьерра, Бейтс — «Паттерны проектирования» PDF

Добро пожаловать в мир паттернов

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

Объекты в курсе событий

Не упустите, когда происходит что-то интересное! Наш следующий паттерн оповещает объекты о наступлении неких событий, которые могут представлять для них интерес, — причем объекты даже могут решать во время выполнения, желают ли они и дальше получать информацию. Паттерн Наблюдатель чрезвычайно полезен и принадлежит к числу наиболее часто используемых паттернов JDK. Также в этой главе будут рассмотрены связи типа «один-ко-многим» и слабые связи. С паттерном Наблюдатель вы станете душой Общества Паттернов.

Украшение объектов

Эту главу можно назвать «Взгляд на архитектуру для любителей наследования». Мы проанализируем типичные злоупотребления из области наследования, и вы научитесь декорировать свои классы во время выполнения с использованием разновидности композиции. Зачем? Затем, что этот прием позволяет вам наделить свои (или чужие) объекты новыми возможностями без модификации кода классов.

Домашняя ОО-выпечка

Приготовьтесь заняться выпечкой объектов в слабосвязанных ОО-архитектурах. Создание объектов отнюдь не сводится к простому вызову оператора new. Оказывается, создание экземпляров не всегда должно осуществляться открыто; оно часто создает проблемы сильного связывания. А ведь вы этого не хотите, верно? Паттерн Фабрика спасет вас от неприятных зависимостей.

Уникальные объекты

Паттерн Одиночка направлен на создание уникальных объектов, существующих только в одном экземпляре. Из всех паттернов Одиночка имеет самую простую диаграмму классов; собственно, вся диаграмма состоит из одного-единственного класса! Однако не стоит расслабляться; несмотря на всю его простоту с точки зрения архитектуры классов, в его реализации кроется немало ловушек. Так что пристегните ремни!

Инкапсуляция вызова

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

Умение приспосабливаться

В этой главе мы займемся всякими невозможными трюками — будем затыкать круглые дырки квадратными пробками. Невозможно, скажете вы? Только не с паттернами проектирования. Помните паттерн Декоратор? Мы «упаковывали» объекты, чтобы расширить их возможности. А в этой главе мы займемся упаковкой объектов с другой целью: чтобы имитировать интерфейс, которым они в действительности не обладают. Для чего? Чтобы адаптировать архитектуру, рассчитанную на один интерфейс, для класса, реализующего другой интерфейс. Но и это еще не все; попутно будет описан другой паттерн, в котором объекты упаковываются для упрощения их интерфейса.

Инкапсуляция алгоритмов

Мы уже «набили руку» на инкапсуляции; мы инкапсулировали создание объектов, вызовы методов, сложные интерфейсы, уток, пиццу… Что дальше? Следующим шагом будет инкапсуляция алгоритмических блоков, чтобы субклассы могли в любой момент связаться с нужным алгоритмом обработки. В этой главе даже будет описан принцип проектирования, вдохновленный Голливудской практикой.

Управляемые коллекции

Существует много способов создания коллекций. Объекты можно разместить в контейнере Array, Stack, List, Hashtable — выбирайте сами. Каждый способ обладает своими достоинствами и недостатками. Но в какой-то момент клиенту потребуется перебрать все эти объекты, и когда это произойдет, собираетесь ли вы раскрывать реализацию коллекции? Надеемся, нет! Это было бы крайне непрофессионально. В этой главе вы узнаете, как предоставить клиенту механизм перебора объектов без раскрытия информации о способе Их хранения. Также в ней будут описаны способы создания суперколлекций. А если этого недостаточно, вы узнаете кое-что новое относительно обязанностей объектов.

Состояние дел

Малоизвестный факт: паттерны Стратегия и Состояние — близнецы, разлученные при рождении. Как известно, паттерн Стратегия организовал успешный бизнес в области взаимозаменяемых алгоритмов. Паттерн Состояние выбрал, пожалуй, более благородный путь: он помогает объектам управлять своим поведением посредством изменения внутреннего состояния.

Управление доступом к объектам

Когда-нибудь разыгрывали сценку «хороший полицейский, плохой полицейский»? Вы — «хороший полицейский», вы общаетесь со всеми любезно и по-дружески, но не хотите, чтобы все обращались к вам за каждым пустяком. Поэтому вы обзаводитесь «плохим полицейским», который управляет доступом к вам. Именно этим и занимаются заместители: они управляют доступом. Как вы вскоре увидите, способы взаимодействия заместителей с обслуживаемыми объектами. Иногда заместители пересылают по Интернету целые вызовы методов, а иногда просто терпеливо стоят на месте, изображая временно отсутствующие объекты.

Паттерны паттернов

Кто бы мог предположить, что паттерны порой работают рука об руку? Вы уже были свидетелями ожесточенных перепалок в «Беседах у камина» (причем вы не видели «Смертельные поединки» паттернов — редактор заставил нас исключить их из книги!). И после этого оказывается, что мирное сосуществование все же возможно. Хотите верьте, хотите нет, но некоторые из самых мощных ОО-архитектур строятся на основе комбинаций нескольких паттернов.

Паттерны в реальном мире

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

Приложение: Другие паттерны

Не каждому суждено оставаться на пике популярности. За последние 10 лет многое изменилось. С момента выхода первого издания книги «Банды Четырех» разработчики тысячи раз применяли эти паттерны в своих проектах. В этом приложении представлены полноценные, первосортные паттерны от «Банды Четырех» — они используются реже других паттернов, которые рассматривались ранее. Однако эти паттерных ничем не плохи, и если они уместны в вашей ситуации — применяйте их без малейших сомнений. В этом приложении мы постараемся дать общее представление о сути этих паттернов.

scanlibs.com

Фримен, Сьерра, Бейтс — «Паттерны проектирования» PDF

Добро пожаловать в мир паттернов

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

Объекты в курсе событий

Не упустите, когда происходит что-то интересное! Наш следующий паттерн оповещает объекты о наступлении неких событий, которые могут представлять для них интерес, — причем объекты даже могут решать во время выполнения, желают ли они и дальше получать информацию. Паттерн Наблюдатель чрезвычайно полезен и принадлежит к числу наиболее часто используемых паттернов JDK. Также в этой главе будут рассмотрены связи типа «один-ко-многим» и слабые связи. С паттерном Наблюдатель вы станете душой Общества Паттернов.

Украшение объектов

Эту главу можно назвать «Взгляд на архитектуру для любителей наследования». Мы проанализируем типичные злоупотребления из области наследования, и вы научитесь декорировать свои классы во время выполнения с использованием разновидности композиции. Зачем? Затем, что этот прием позволяет вам наделить свои (или чужие) объекты новыми возможностями без модификации кода классов.

Домашняя ОО-выпечка

Приготовьтесь заняться выпечкой объектов в слабосвязанных ОО-архитектурах. Создание объектов отнюдь не сводится к простому вызову оператора new. Оказывается, создание экземпляров не всегда должно осуществляться открыто; оно часто создает проблемы сильного связывания. А ведь вы этого не хотите, верно? Паттерн Фабрика спасет вас от неприятных зависимостей.

Уникальные объекты

Паттерн Одиночка направлен на создание уникальных объектов, существующих только в одном экземпляре. Из всех паттернов Одиночка имеет самую простую диаграмму классов; собственно, вся диаграмма состоит из одного-единственного класса! Однако не стоит расслабляться; несмотря на всю его простоту с точки зрения архитектуры классов, в его реализации кроется немало ловушек. Так что пристегните ремни!

Инкапсуляция вызова

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

Умение приспосабливаться

В этой главе мы займемся всякими невозможными трюками — будем затыкать круглые дырки квадратными пробками. Невозможно, скажете вы? Только не с паттернами проектирования. Помните паттерн Декоратор? Мы «упаковывали» объекты, чтобы расширить их возможности. А в этой главе мы займемся упаковкой объектов с другой целью: чтобы имитировать интерфейс, которым они в действительности не обладают. Для чего? Чтобы адаптировать архитектуру, рассчитанную на один интерфейс, для класса, реализующего другой интерфейс. Но и это еще не все; попутно будет описан другой паттерн, в котором объекты упаковываются для упрощения их интерфейса.

Инкапсуляция алгоритмов

Мы уже «набили руку» на инкапсуляции; мы инкапсулировали создание объектов, вызовы методов, сложные интерфейсы, уток, пиццу… Что дальше? Следующим шагом будет инкапсуляция алгоритмических блоков, чтобы субклассы могли в любой момент связаться с нужным алгоритмом обработки. В этой главе даже будет описан принцип проектирования, вдохновленный Голливудской практикой.

Управляемые коллекции

Существует много способов создания коллекций. Объекты можно разместить в контейнере Array, Stack, List, Hashtable — выбирайте сами. Каждый способ обладает своими достоинствами и недостатками. Но в какой-то момент клиенту потребуется перебрать все эти объекты, и когда это произойдет, собираетесь ли вы раскрывать реализацию коллекции? Надеемся, нет! Это было бы крайне непрофессионально. В этой главе вы узнаете, как предоставить клиенту механизм перебора объектов без раскрытия информации о способе Их хранения. Также в ней будут описаны способы создания суперколлекций. А если этого недостаточно, вы узнаете кое-что новое относительно обязанностей объектов.

Состояние дел

Малоизвестный факт: паттерны Стратегия и Состояние — близнецы, разлученные при рождении. Как известно, паттерн Стратегия организовал успешный бизнес в области взаимозаменяемых алгоритмов. Паттерн Состояние выбрал, пожалуй, более благородный путь: он помогает объектам управлять своим поведением посредством изменения внутреннего состояния.

Управление доступом к объектам

Когда-нибудь разыгрывали сценку «хороший полицейский, плохой полицейский»? Вы — «хороший полицейский», вы общаетесь со всеми любезно и по-дружески, но не хотите, чтобы все обращались к вам за каждым пустяком. Поэтому вы обзаводитесь «плохим полицейским», который управляет доступом к вам. Именно этим и занимаются заместители: они управляют доступом. Как вы вскоре увидите, способы взаимодействия заместителей с обслуживаемыми объектами. Иногда заместители пересылают по Интернету целые вызовы методов, а иногда просто терпеливо стоят на месте, изображая временно отсутствующие объекты.

Паттерны паттернов

Кто бы мог предположить, что паттерны порой работают рука об руку? Вы уже были свидетелями ожесточенных перепалок в «Беседах у камина» (причем вы не видели «Смертельные поединки» паттернов — редактор заставил нас исключить их из книги!). И после этого оказывается, что мирное сосуществование все же возможно. Хотите верьте, хотите нет, но некоторые из самых мощных ОО-архитектур строятся на основе комбинаций нескольких паттернов.

Паттерны в реальном мире

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

Приложение: Другие паттерны

Не каждому суждено оставаться на пике популярности. За последние 10 лет многое изменилось. С момента выхода первого издания книги «Банды Четырех» разработчики тысячи раз применяли эти паттерны в своих проектах. В этом приложении представлены полноценные, первосортные паттерны от «Банды Четырех» — они используются реже других паттернов, которые рассматривались ранее. Однако эти паттерных ничем не плохи, и если они уместны в вашей ситуации — применяйте их без малейших сомнений. В этом приложении мы постараемся дать общее представление о сути этих паттернов.

scanlibs.com

и другие, , Фримен, Элизабет , Фримен, Эрик. Паттерны проектирования

Фримен Э.Паттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, Head First O'Reilly Подробнее...2015850бумажная книгаи другие, , Фримен, Элизабет , Фримен, ЭрикПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: 232.00mm x 202.00mm x 31.00mm, 656 стр.) head first o\'reilly Подробнее...20151057бумажная книгаЭрик Фримен, Элизабет Фримен, Кэтти Сьерра, Берт БейтсПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: 84x108/16, 656 стр.) Head First O'Reilly Подробнее...2016977бумажная книгаФримен ЭПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Неизвестный, (формат: Мягкая глянцевая, 320 стр.) Head First (O`Reilly) Подробнее...2016553бумажная книгаФримен ЭПаттерны проектирования — Питер-Юг, (формат: мягкий, 645 стр.) Подробнее...20171499бумажная книгаЭрик Фримен,Элизабет ФрименПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: мягкая обложка, 656 стр.) Подробнее...20131280бумажная книгаФримен Э. и др.Паттерны проектирования — Питер СПб, (формат: Мягкая глянцевая, 656 стр.) Подробнее...20171066бумажная книгаСергей ТепляковПаттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 70x100/16, 320 стр.) Подробнее...2016500бумажная книгаТепляков, Сергей В.Паттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 232.00mm x 166.00mm x 15.00mm, 320 стр.) внесерийное издание Подробнее...2015688бумажная книгаСергей ТепляковПаттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 232.00mm x 166.00mm x 15.00mm, 320 стр.) электронная книга Подробнее...2015299электронная книгаТепляков СергейПаттерны проектирования на платформе . NET — Питер-Юг, (формат: мягкий, 316 стр.) Подробнее...2016999бумажная книгаТепляков С.Паттерны проектирования на платформе . NET — Питер СПб, (формат: Мягкая глянцевая, 320 стр.) Подробнее...2015694бумажная книгаЭ. Гамма, Р. Хелм, Р. Джонсон, Дж. ВлиссидесПриемы объектно-ориентированного проектирования: Паттерны проектированияВ предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, чтомногие разработчики искали пути… — Addison Wesley Longman, Inc., (формат: 70x100/16, 368 стр.) Библиотека программиста Подробнее...2003490бумажная книгаМурат Йенер, Алекс ФидомJava EE. Паттерны проектирования для профессионаловКнига "Java EE. Паттерны проектирования для профессионалов" - незаменимый ресурс для всех, кто желает более эффективно работать с Java EE, а также единственная книга, в которой рассмотрены как… — Питер, (формат: 70x100/16, 240 стр.) Подробнее...2016456бумажная книгаЙенер, Мурат , Фидом, АлексJava EE. Паттерны проектирования для профессионаловКнига "Java EE. Паттерны проектирования для профессионалов" - незаменимый ресурс для всех, кто желает более эффективно работать с Java EE, а также единственная книга, в которой рассмотрены как… — Питер, (формат: 240.00mm x 170.00mm x 12.00mm, 240 стр.) внесерийное издание Подробнее...2016634бумажная книга

books.academic.ru

Паттерны проектирования (6 книг) :: NoNaMe

1. Паттерны проектирования2. Приемы объектно-ориентированного проектирования. Паттерны проектирования. 20103. Приемы объектно-ориентированного проектирования. Паттерны проектирования. 20014. Методы и алгоритмы вычислений на строках5. Философия C++. Практическое программирование6. Чистый код. Создание, анализ и рефакторинг

----------------------<cut>----------------------

Паттерны проектирования

Название: Паттерны проектированияАвтор: Э. Фримен, Э. Фримен, К. Сьерра, Б. Бейтс Год издания: 2011Издательство: ПитерСтраниц: 656Формат: DJVUРазмер: 43.4 Mb

В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию "Head First" издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Приемы объектно-ориентированного проектирования. Паттерны проектирования. 2010

Автор: Э. Гамма, Р. Хелм, Р. Джонсон, Дж. ВлиссидесНазвание: Приемы объектно-ориентированного проектирования. Паттерны проектированияИздательство: ПитерГод: 2010Страниц: 366Формат: djvuРазмер: 20.1 MbЯзык: русскийКачество: отличное

В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Приемы объектно-ориентированного проектирования. Паттерны проектирования. 2001

Автор: Э. Гамма, Р. Хелм, Р. Джонсон, Дж. ВлиссидесНазвание: Приемы объектно-ориентированного проектирования. Паттерны проектированияСерия: Библиотека программистаИздательство: ПитерГод: 2001Страниц: 368Размер: 18.8 Mb

В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и дляпрограммистов, осваивающих объектно-ориентированное проектирование.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Методы и алгоритмы вычислений на строках

Автор: Билл СмитНазвание: Методы и алгоритмы вычислений на строкахИздательство: И.Д. ВильямсГод: 2006Формат: djvuРазмер: 6 Mb

Книга представляет собой фундаментальное введение в алгоритмы и методы, эффективно вычисляющие паттерны в строковых последовательностях. Речь идет об общих алгоритмах и методах, которые находят применение во многих областях науки и информационных технологий: сжатие данных, криптография, распознавание речи и компьютерное зрение, вычислительная геометрия и молекулярная биология.Рассмотренные в книге алгоритмы предназначены для нахождения в строковых последовательностях определенных типов паттернов — частных, характеристических и внутренних. Каждому типу паттернов посвящена соответствующая часть книги.Книга отличается последовательным изложением материала, большим количеством иллюстративных примеров, свободным обсуждением текущих исследований в этой области, содержит более 500 упражнений, поясняющих и расширяющих материал, изложенный в тексте книги.Книга предназначена для тех, кто имеет достаточную подготовку в математике и информатике и хочет познакомиться с этой интересной и важной областью.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Философия C++. Практическое программирование

Название: Философия C++. Практическое программирование. Автор: Эккель Б., Эллисон Ч. Серия: Библиотека программиста Год: 2004Издательство: Питер Страниц: 608 Формат: DJVU Размер: 5.1 Mb

Книга отличается от других учебников по C++ новым подходом к изложению материала, основанным на логике и здравом смысле. Вместо простого перечисления языковых конструкций, снабженных примерами, авторы стремятся научить читателя мыслить категориями C++. Они подробно объясняют, почему проектировщики языка принимали то или иное решение, описывают типичные проблемы и пути их решения. Во втором томе рассматриваются такие темы, как обработка исключений, стандартная библиотека C++ (включая потоки ввода/вывода, контейнеры и алгоритмы STL), шаблоны, множественное наследование, RTTI, автоматизация тестирования и отладки программ, паттерны проектирования и т. д.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Чистый код. Создание, анализ и рефакторинг

Автор: Роберт МартинИздательство: ПитерГод издания: 2010Страниц: 464Язык: русскийРазмер: 6.4 MbФормат: DJVU

Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги — концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.

Скачать:

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы

Скачать одним архивом (106 Mb):

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлыНеобходимо зарегистрироваться чтобы прочитать текст или скачать файлыНеобходимо зарегистрироваться чтобы прочитать текст или скачать файлы

nnm.me

Фримен Э. и др.. Паттерны проектирования

Фримен Э.Паттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, Head First O'Reilly Подробнее...2015850бумажная книгаи другие, , Фримен, Элизабет , Фримен, ЭрикПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: 232.00mm x 202.00mm x 31.00mm, 656 стр.) head first o\'reilly Подробнее...20151057бумажная книгаЭрик Фримен, Элизабет Фримен, Кэтти Сьерра, Берт БейтсПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: 84x108/16, 656 стр.) Head First O'Reilly Подробнее...2016977бумажная книгаФримен ЭПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Неизвестный, (формат: Мягкая глянцевая, 320 стр.) Head First (O`Reilly) Подробнее...2016553бумажная книгаФримен ЭПаттерны проектирования — Питер-Юг, (формат: мягкий, 645 стр.) Подробнее...20171499бумажная книгаЭрик Фримен,Элизабет ФрименПаттерны проектированияВ мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи инаходят похожие решения. Если вы не… — Питер, (формат: мягкая обложка, 656 стр.) Подробнее...20131280бумажная книгаФримен Э. и др.Паттерны проектирования — Питер СПб, (формат: Мягкая глянцевая, 656 стр.) Подробнее...20171066бумажная книгаСергей ТепляковПаттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 70x100/16, 320 стр.) Подробнее...2016500бумажная книгаТепляков, Сергей В.Паттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 232.00mm x 166.00mm x 15.00mm, 320 стр.) внесерийное издание Подробнее...2015688бумажная книгаСергей ТепляковПаттерны проектирования на платформе . NETПаттерны проектирования остаются важным инструментом в арсенале разработчика, поскольку они опираются на фундаментальные принципы проектирования. Тем не менее, появление новых конструкций в… — Питер, (формат: 232.00mm x 166.00mm x 15.00mm, 320 стр.) электронная книга Подробнее...2015299электронная книгаТепляков СергейПаттерны проектирования на платформе . NET — Питер-Юг, (формат: мягкий, 316 стр.) Подробнее...2016999бумажная книгаТепляков С.Паттерны проектирования на платформе . NET — Питер СПб, (формат: Мягкая глянцевая, 320 стр.) Подробнее...2015694бумажная книгаЭ. Гамма, Р. Хелм, Р. Джонсон, Дж. ВлиссидесПриемы объектно-ориентированного проектирования: Паттерны проектированияВ предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, чтомногие разработчики искали пути… — Addison Wesley Longman, Inc., (формат: 70x100/16, 368 стр.) Библиотека программиста Подробнее...2003490бумажная книгаМурат Йенер, Алекс ФидомJava EE. Паттерны проектирования для профессионаловКнига "Java EE. Паттерны проектирования для профессионалов" - незаменимый ресурс для всех, кто желает более эффективно работать с Java EE, а также единственная книга, в которой рассмотрены как… — Питер, (формат: 70x100/16, 240 стр.) Подробнее...2016456бумажная книгаЙенер, Мурат , Фидом, АлексJava EE. Паттерны проектирования для профессионаловКнига "Java EE. Паттерны проектирования для профессионалов" - незаменимый ресурс для всех, кто желает более эффективно работать с Java EE, а также единственная книга, в которой рассмотрены как… — Питер, (формат: 240.00mm x 170.00mm x 12.00mm, 240 стр.) внесерийное издание Подробнее...2016634бумажная книга

books.academic.ru

Фриман и Фриман. Паттерны проектирования

DISCLAIMER: не проматывайте этот пост только из-за того, что обзор книг – это неинтересно. Здесь будет пяток интересных цитат и ряд других полезных мыслей!

Если спросить у десяти разработчиков о паттернах проектирования и о том, какая книга является лучшим источником информации по этой теме, то 9 из 10 назовут знаменитую книгу банды четырех и будут правы. GoF – является классическим каталогом паттернов в том виде, в котором он был описан Кристофером Александером 35 лет назад и все еще остается бесценным справочником для любого программиста.

Но, как и у любого каталога (или справочника), Эрих Гамма и др. сосредотачиваются на применимости паттернов, на связях конкретного паттерна с другими, они дают примеры использования в реальных проектах, но они не учат (точнее, не акцентируют на этом внимание) тому, какие принципы объектно-ориентированного программирования эти паттерны решают; где найти ту грань, когда от паттернов лучше отказаться и не предупреждают о недостатках их чрезмерного использования.

Короче говоря, GoF – это идеальный инструмент для «прокачанного» специалиста и далеко не идеальный источник для неокрепшего разума.

Цитата (основная суть паттернов проектирования): выделите переменные составляющие и инкапсулируйте их, чтобы позднее их можно было изменять или расширять без воздействия на постоянные составляющие.

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

Цитата: Прежде всего, при проектировании следует использовать самые простые решения. Вашей целью должна быть простота, а не "как бы применить паттерн в этой задаче". Не стоит думать, что без использования паттернов вас не будут считать грамотным специалистом. Другие разработчики по достоинству оценят простоту архитектуры.

Еще одной отличительной особенностью книги является способ подачи материала: 650 страниц книги можно одолеть за пару выходных, при этом мозг не взорвется от перенапряжения; авторы целенаправленно вдалбливают самыми различными способами (картинки, цитаты, повторения ключевых концепций) самое важное, что должен читатель вынести после прочтения. Иногда, это начинает напрягать, но, опять-таки, «это не баг, это фича» данной книги, и если нужна дикая концентрация ООП-шной мысли на строку текста, то тут уж лучше обратиться к правильному источнику (например, к Мейеру).

Цитата: Если кто-то ходит, как утка, и крякает, как утка, то это и есть может быть утка индюшка с утиным адаптером...

Еще очень порадовали примеры паттернов (например, примеры декораторов ввода вывода в Java и декорирование напитков), хотя в некоторых примерах (например, при рассмотрении заместителей) дается слишком уж много специфических языковых конструкций.

Если говорить о других недостатках, то они относится к нашим переводчикам. Нет, с переводом все нормально, он на довольно высоком уровне и мне не приходилось лезть в оригинал, чтобы понять смысл предложения. Проблема в отсутствии оригинальных терминов. Все же немаловажной ролью паттернов является коммуникативная составляющая, а некоторые паттерны мы называем исключительно в оригинале, вот и приходится думать о том, что же такое заместитель, это proxy или нет. Не говоря уже за такие термины, как связность, когда только из контекста становится понятно, идет ли речь в книге о cohesion или coupling. Это не так часто напрягает, но было бы неплохо видеть перед глазами оригинальные названия.

ПРИМЕЧАНИЕЕсли интересна природа терминов cohesion и coupling или, вообще, интересна история паттернов проектирования, то вам сюда: Шаблоны проектирования. История успеха.

Цитата: В одной ситуации паттерны используются даже при наличии более простого решения: если вы ожидаете, что некоторые аспекты вашей системы будут изменяться. Только следите за тем, чтобы паттерны были ориентированы на реальные, а не на чисто теоретические изменения.

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

1-я стадия: Ух-ты-Ух-ты-Ух-ты! Я узнал, что такое паттерны! Клева! Как бы мне их заюзать!2-я стадия: Ух-ты! Я отрефакторил старый код и вместо десяти строк кода заиспользовал 7 паттернов! Я мегакрут!3-я стадия: ух-ты. Ну, паттерны - это классная штука, но как-то уже нет особого желания впихивать их куда угодно. Чего-то потом и сам ноги ломаешь за всеми этими абстрактными фасадированными декораторами, завернутыми в синглтон.

4-я стадия: нет, паттерны – это хорошо, но прагматизм – рулит, да и вообще: а) думать еще никто не отменял; б) простое решение лучше сложного; г) паттерны хорошо, но принципы ООП зачастую и так дадут ответы на большую часть вопросов.

В результате страсть от полного щенячьего восторга постепенно сменяется прагматичным применением принципов и паттернов. Фриманы (да, это авторы сего талмуда) уделяют этому вопросу достаточно много внимания, начиная с 610 страницы. У меня, правда, есть опасение, что не все дочитают до этого места, а бросятся использовать паттерны налево и направо значительно раньше, в результате чего бесценный урок будет пропущен.

Цитата: В каких случаях паттерны следует исключать из архитектуры? Если ваша система стала чрезмерно сложной, а изначально запланированная гибкость оказалась излишней... Проще говоря, когда более простое решение предпочтительно (кстати, эта мысль подтверждается моим собственным опытом).

Если сложить все вышесказанное вместе, то мы получаем, что эту книгу нельзя использовать в качестве справочника (или каталога паттернов), в ней будет слишком много воды для опытного программиста и она не сможет заменить серьезную книгу по ООП. С другой стороны, это идеальный учебник базового уровня по паттернам и основам ООП, который даст основные сведения по этим темам и поможет устаканить существующий беспорядок в голове.

Оценка: 4 (идеальный учебник, но едва ли подойдет опытному специалисту).

З.Ы. Обычно, по мере чтения книги, я пишу свои впечатления в Google+, так было с книгой Мейера (раз, два, три, четыре), и с данной книгой тоже (раз, два, три, четыре). Так что вы можете не ждать рецензии (в которой в любом случае будет не все), а узнавать мое мнение о книге по ходу дела в Г+.

sergeyteplyakov.blogspot.ru


Смотрите также