3 лучших книги по архитектуре программного обеспечения

Оглавление (нажмите, чтобы открыть):

Чистая архитектура. Искусство разработки программного обеспечения

Скачать книгу

О книге «Чистая архитектура. Искусство разработки программного обеспечения»

«Идеальный программист» и «Чистый код» – легендарные бестселлеры Роберта Мартина – рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха. Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.

Произведение было опубликовано в 2020 году издательством Питер. Книга входит в серию «Библиотека программиста (Питер)». На нашем сайте можно скачать книгу «Чистая архитектура. Искусство разработки программного обеспечения» в формате fb2, rtf, epub, pdf, txt или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.

10 книг на тему проектирования архитектуры ПО, баз данных и программирования в целом

Надоело быть идиотом, когда дело касается проектирования архитектуры системы.

Пора изучить теоретические основы и начинать внедрять их на практике. Тем более, что сейчас есть возможность сразу же применить полученные знания.

Критерий завершения

Все книги прочитаны, и по каждой написано мини-сочинение на тему «Что я узнал нового из этой книги?»

Личные ресурсы

Время, и, возможно, деньги на бумажные варианты книг

Банда Четырех. «Приемы объектно-ориентированного проектирования»

В книге описаны подробно описаны основные паттерны проектирования с примерами.

Мартин Фаулер. «Архитектура корпоративных приложений»

Книга содержит паттерны проектирования более высокого уровня, чем книга GoF.

Составить список книг

Составить список из 10 книг и посвятить каждой книге этап выполнения задачи.

Стив Макконекел. «Совершенный код»

Достаточно заглянуть в оглавление, и сразу становится понятно, что в книге охвачены практически все этапы и рассмотрены почти все принципы написания ПО.

Большая и толстая книжка, от которой я жду много нового и полезного :3

3 лучших книги по архитектуре программного обеспечения. #[email protected] #[email protected]

Небольшая подборка отличных книг по архитектуре программного обеспечения для новичков и профессионалов в области разработки ПО.

3 лучших книги по архитектуре программного обеспечения

Небольшая подборка отличных книг по архитектуре программного обеспечения для новичков и профессионалов в области разработки ПО.

Комментарии (5)

Станислав Есин

Кто читал, стоит внимания? Или что-то другое лучше почитать по этой теме?

Страница Максимейко

Станислав, первую читал, полезная. Но в оригинале там достаточно сложный английский (другие книги я читаю без проблем)

Александр Бородин

Где Фаулер? Где Эванс? Книга Вигерса хороша, но имеет к архитектуре ПО не самое прямое отношение. У Прессмана вообще просто достаточно общий учебник по SE.

Владимир Мокеев

Фаулера, Хопфа нет ��

Кузьма Аверин

Тото, лучше ноут-трансформер тогда. Планшеты — тупиковая ветвь. Для чтения лучше читалку, для связи смартфон, а для мобильности в работе — ноут того или иного вида.

О проекте

Данный сайт является агрегатором контента из популярных социальных сетей. Добавление новых материалов производится в автоматическом режиме. Администрация проекта не несет ответственности за их содержание.

Книги о проектировании и разработке программного обеспечения

Шаблоны проектирования

Э. Гамма Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. – СПб.: Питер, 2009. – 366 с.

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

Джейсон Мак-Колм Смит Элементарные шаблоны проектирования : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2013. — 304 с.

Книга Мак-Колма более похожа на научный труд, чем на учебник, однако, является достаточно интересной и полезной. В первую очередь рассматриваются элементарные шаблоны — такие, как делегирование, наследование, рекурсия. Затем, показывает как из элементарных шаблонов построить более сложные — при этом шаблоны рассматриваются крайне подробно. Достаточно полезной показалась система обозначений PIN (Pattern Instance Notation), разработанная автором в качестве расширения UML. PIN используется на протяжении всей книги, т.к. позволяет элегантно отображать зависимости между паттернами, не вникая в детали их реализации. В конце приводится описание \(\rho\)-исчисления, являющегося формальной теорией, лежащей в основе шаблонов проектирования. Я рекомендую посмотреть книгу всем программистам, которые этого еще не сделали — будет интересно.

Влиссидес Джон. Применение шаблонов проектирования. Дополнительные штрихи. : Пер. англ. М.: Издательский дом «Вильямс

Хорошее дополнение к книге Гаммы и Хелма с несколько другим способом изложения и местами более интересными примерами. Начинается книга с заблуждений о шаблонах — далеко не все, особенно студенты, понимают как ими пользоваться. По ходу книги автор ставит перед читателем ряд проблем и всякий раз выполняет поиск подходящих шаблонов проектирования, при этом приводится даже некоторый алгоритм выполнения такого поиска. Первым примером книги является проектирование файловой системы (с сущностями «Файл», «Каталог», «Ярлык»), на нем рассматриваются паттерны Composite, Proxy (для реализации «Ярлыка» файла — этот пример сильно отличается от того, что приведено в GoF), Visitor (тоже очень удачное применение) и Template Method (в контексте рефакторинга и инверсного управления). Затем, в пример добавляется владелец файла, но пользователей нужно создавать, а еще они объединяются в группы. На примере системы управления пользователями рассматриваются шаблоны Singleton и Mediator (для связи пользователей с группой «многие ко многим»). В конце второй главы приводится хорошая диаграмма «pattern: role annotation». В третьей главе рассматриваются тонкости и проблемы реализации шаблонов — начинаются с Singleton-а (проблема с зависимостями между несколькими Одиночками, параллельным программированием и освобождением памяти из под них). Затем также рассматривается Observer и Visitor (на мой взгляд, выбран слишком примитивный пример с построением графического интерфейса из двух полей ввода и кнопкой). В конце главы описывается «нестандартный» шаблон Generaton Gap — лично я про него читал впервые, применить вы его сможете лишь в тех случаях если ваша система генерирует исходный код программ, рассматривается он на примере генератора пользовательского интерфейса (типа Qt Designer), но отмечается что нечто подобное используется в YACC. Цель паттерна Generaton Gap — убрать зависимость между сгенерированным системой кодом и тем, что дописывает потом вручную пользователь, для этого предлагается, казалось бы очевидное решение — генерируемый код помещается в базовый класс, который пользователь может наследовать для увеличения функциональности (хотя я бы рассмотрел также вариант с композицией). Последним примером книги является система обработки событий (Event), при этом ставится проблема — типов событий много, но, получив событие, мы не хотим выполнять кучу dynamic_cast для установления его типа. На этом примере описаны шаблоны Mulicast и Typed Message — лично мне это показалось бесполезным. В конце книги приводится рекомендации по разработке шаблонов проектирования (семь правил, которые помогут вам придумать новый шаблон) — я бы назвал это правилами по изучению шаблонов (советую прочитать). В целом, хорошая книга, но с плохим переводом (очень много явных ляпов) и местами устаревшая (т.к. примеры написаны на С++, который развивался и сильно изменился, а книга старая) — например не совсем правильно подмечены недостатки Singleton-а Маерса и описан неактуальный подход с Double-Clecked Locking (хотя для истории и кругозора может пригодится).

Тепляков С. В. Паттерны проектирования на платформе .NET – СПб.: Питер, 2015. – 320 с.

Замечательная книга от разработчика компании Microsoft и известного в узких кругах блогера (до выпуска книги Сергей много писал на тему паттернов проектирования на своем сайте). Не смотря на то, что в названии фигурирует .NET, книга будет полезна всем без исключения разработчикам (в книге Гаммы тоже приводятся примеры на Smalltalk, но это не мешает ей быть классикой). Главы книги можно читать в любом порядке, т.к. они не связаны друг с другом — как и в книге Гаммы разделение по главам осуществляется на основе типов паттернов (паттерны поведения, порождающие паттерны, структурные паттерны), кроме того, есть глава посвященная принципам SOLID. Рассматриваются вопросы unit-тестирования в контексте применения шаблонов проектирования.

Мастер Йода рекомендует:  Видеокурс по разработке приложений виртуальной реальности

UML и объектно-ориентированный анализ

Буч Градди Объектно-ориентированный анализ и проектирование с примерами приложений, 3-е изд. / Буч Градди, Максимчук Роберт А., Энгл Майкл У., Янг Бобби Дж., Коналлен Джим, Хьюстон Келли А.: Пер с англ. — М.: ООО «И.Д. Вильямс», 2010. — 720 с.

Классическая книга по программированию от очень авторитетного автора. В книге есть множество интересных и важных для программиста вещей, но они обильно разбавлены рассуждениями на отвлеченные темы и, на мой взгляд, очень неудачными примерами про теплицы. Во второй вам расскажут про общие принципы ООП; в третьей главе — дополнят некоторыми обозначениями UML и интересным разделом про качество классов и объектов; в четвертой — рассматриваются различные подходы к классификации и уточнению абстракций. Пятая глава книги содержит описание 13 видов UML диаграмм, но на мой взгляд Буч выбрал не самые лучшие примеры и недостаточно времени уделил описанию назначения этих диаграмм. Шестая глава содержит описание процесса разработки программного обеспечения, при этом выделяются макропроцесс (жизненный цикл проекта) и микропроцесс (проектирование) — для них описываются стадии с видами деятельности на каждой из них. Седьмая глава завершает изложение очень коротким описанием организационных вопросов. Вторую половину книги составляют примеры приложений (можно посмотреть в каком порядке Буч предлагает их проектировать и какие виды диаграмм использовать).
Все главы кроме пятой очень обзорные — в них нет смысла вчитываться, по этим темам написаны отдельные толстые книги. Например, про качество ПО в нескольких книгах рассуждает Роберт Мартин, а про проектирование ПО (микропроцесс) написал отдельную книгу Розенберг — при этом он использует другой подход (ICONIX). Очень часто долгие рассуждения Буча касаются очевидных вещей и как бы вы не вчитывались — не получится узнать что-то новое, поэтому я считаю, что книгу достаточно бегло просмотреть. Наиболее полезные, на мой взгляд, части книги:

  • описание элементов объектной модели во второй главе;
  • большая часть третьей главы, посвященная основам ООП;
  • описание UML в пятой главе;
  • по диагонали можно прочитать шестую главу и просмотреть несколько примеров из приложения.
Розенберг Д., Скотт К. Применение объектного моделирования с использованием UML и анализ прецедентов.: Пер. с англ. М.: ДМК Пресс, 2002

Книга посвящена разработке программного обеспечения в соответствии с процессом ICONIX, поэтому несмотря на то, что в названии фигурирует UML — рассматриваются всего 4 вида диаграмм (прецедентов, пригодности, последовательности и классов). Диаграмма пригодности не описана во многих других книгах по UML, т.к. в стандарте UML она описана в дополнении. В книге не только описываются сами диаграммы, но и процесс разработки ICONIX, который является итеративным, что оказывает влияние на процесс построения диаграмм. Каждому виду диаграммы посвящена отдельная глава, в конце которой приводится топ 10 ошибок — это тоже очень полезная и интересная часть. Книга в 7 раз тоньше произведения Буча, а полезной информации, на мой взгляд, в ней больше.

Буч Г., Рамбо Д., Джекобсон А. Язык UML Руководство пользователя — С-П.: Издательство «Питер», 2010 — 432 с.

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

Практически каждый программист слышал словосочетание Rational Rose, но обычно плохо себе представляет что это такое. Мало того, традиционна следующая ситуация: программист что-то услышал о программном продукте, с радостью его установил себе на компьютер (давайте не будем уточнять, как он достал себе копию), запустил программу… а она оказалась совсем не похожей на WinWord. Т.е., как нарисовать стрелку ясно, а что за ней стоит и как это потом использовать — непонятно.

Надо сказать, что использование CASE продуктов подразумевает наличие хотя бы базовых знаний об используемой технологии. Я сомневаюсь, что человек, основываясь на одном лишь здравом смысле, сможет понять зачем нужна Rational Rose. По крайней мере потому, что там используется специфическая терминология для выбранной нотации.

Так вот, эта книга, является одной из трех книг, написанных создателями UML. Это полное изложение UML, позволяющее читателю изучить его и приступить к практическому использованию. В книге не рассматриваются принципы объектно-ориентированного анализа, поэтому от читателя потребуется знакомство с ним (например, по соседней книге Буча).

Поэтому, если вы уже применяете UML достаточно долгое время, то «Руководство пользователя» вряд ли будет для вас обладать какой-то особенной ценностью, но если вы хотите овладеть им — нверное, это то что нужно.

Итог:
Книга, несомненно, достойна того, что бы ее прочитали хотя бы для ознакомления с нотацией. Она не является основополагающей, как «Объектно-ориентированный анализ и проектирование» Гради Буча, но все равно достаточно интересна.

Чистый код и рефакторинг

Мартин Р. Чистый код. Создание, анализ и рефакторинг. Библиотека программиста. — СПб.: Питер, 2014. — 464 с.

Книга посвящена вопросам написания программного кода, который легко поддерживать — обсуждаются не только стили кодирования, форматирования, но и, например, структура хорошего кода, юнит-тестирование, использование исключений. В контексте чистого кода описываются некоторые шаблоны проектирования. Альтернативой можно считать книгу Фаулера (она также посвящена чистому коду), но Роберт Мартин пишет гораздо интереснее. Рекомендую прочитать книгу всем студентам, прошедшим курс объектно-ориентированного программирования.

Фаулер М. Рефакторинг. Улучшение существующего кода/ М. Фаулер. Символ-Плюс, 2008. 432 с.
Аллен Э. Типичные ошибки проектирования / Э.Аллен: Пер. с англ. – СПб.: Питер, 2003. – 224 с.

Книги Мартина Фаулера и Эрика Аллена посвящены чистому коду и рефакторингу, но в отличии от книги Боба Мартина, в них делается попытка каталогизации видов рефакторинга (у Фаулера) или ошибок (у Аллена). Если вы разрабатывали что-то чуть-чуть сложнее тетриса — то книги читаются быстро т.к., значительная часть материала вам и так знакома. Книги стоит пролистать, бегло найти интересные моменты и посмотреть их более детально. Покупать их не стоит (я взял на работе почитать), вряд-ли вы будете это перечитывать. С другой стороны, знакомый тимлид требует от работников при рефакторинге указывать конкретный вид (название берется из каталога вот этой книги) в комментарии к коммиту в репозитории. Из книги Аллена мне больше всего понравились главы 2, 3 и 22 — в них можно кое-что узнать об экстремальном программировании, спецификации и тестировании, а также прочитать краткое (но достаточное) описание «паттернов проектирования для отладки». Советую читать именно эти главы.

Другое

Чакон Скотт, Страуб Бен Git для профессионального программиста. — СПб.: Питер, 2020. — 496 с.: ил.

В книге автор рассказывает про систему контроля версий «git», при этом делает это не поверхностно (как многочисленные статьи в интернете), а очень подробно. Главы выстроены таким образом, чтобы читатель сразу мог начать пробовать некоторые команды git, а затем узнавать про различные варианты их использования. Очень помогает читать обилие иллюстраций к примерам. Книга настолько полно описывает git, что после нее по этой теме можно читать только stack overflow (какие-то конкретные вопросы все равно будут возникать), но вы будете уметь работать в команде, использующей git, выбирать оптимальный вариант использования git для своей команды, настраивать git на сервере и т.д.

С. Бобровский Технологии Пентагона на службе российских программистов. Программная инженерия. — СПб.: Питер, 2003. — 222 с.: ил.

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

  1. Очень коротко описываются подходы, позволяющие повысить качество продукта (в т.ч. сократить число ошибок): гибкие практики (Agile), развитие качеств программиста — профессиональные и личностные качества, особое внимание уделяется обучению и мотивации.
  2. Описание истории развития языков программирования. Акцент делается на влияние на этот процесс спец. служб в 20 веке. Кроме того, много написано о том, что большая база кода на устаревших языках мешает забыть о них и, следовательно, препятствует развитию более совершенных языков.
  3. Очень коротко описываются подходы к управлению процессом разработки ПО — такие как C/SCSC и CMM. В частности это процессы управления рисками (превышения бюджета проекта или сроков). Из главы можно узнать о сути предлагаемого подхода их достоинствах и недостатках. Чтобы использовать методики информации недостаточно, к сожалению в книге нет ссылок на литературу, где эту информацию можно получить.
  4. Описаны 2 японских проекта связанных с разработкой систем параллельной обработки данных. Более подробного описания проекта ЭВМ 5 поколения на русском языке я не встречал.

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

Мастер Йода рекомендует:  Для Windows 10 вышло самое крупное обновление с момента запуска — Anniversary Update
Брукс, Ф. Мифический человеко-месяц или как создаются программные системы / Ф. Брукс. — М.: СПб: Символ-Плюс, 2020. — 304 c.

Эта книга не о программировании на конкретном языке. В ней очень ясным, живым языком рассказывается о тех выводах, к которым пришел автор в процессе руководства работы над операционной системой OS/360. Некоторые моменты, конечно же, устарели; например, проблема машинного времени уже не стоит в таком остром ракурсе перед программистами (во всяком случае, в большинстве проектов). Тем не менее, общие рекомендации по обеспечению работы большой группы программистов очень сложно переоценить. Например, вы можете сразу же ответить, что лучше: тысяча посредственных программистов, сто хорошиих или десять гениев? Имеется в виду, для реализации очень крупного проекта в разумное время. Я не говорю о том, что в книге есть ответ на этот вопрос — в книге есть очень полезные мысли на эту тему, которые пригодятся вам при начале работы и наборе сотрудников.

«Мифический человеко-месяц» — это, судя по тому что это выражение вынесено в название, для Брукса самый важный момент в книге. Брукс пишет о том, что нельзя мерять время выполнения проекта просто линейно считая, что если один человек сделает его за сто лет, то сто человек сделают его за один год.

От первого издания отличается тем, что в него добавлена статья «Серебряной пули нет», в которой Брукс двадцать лет назад предупреждал о том, что в течение этих лет в программировании ничего революционного не произойдет и статьей, которая была написана специально для второго издания. Эта статья посвящена актуальным аспектам проектирования и ответу на вопрос о том, почему же «Мифический человеко-месяц» до сих пор остался современным.

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

Книги, посвященные архитектуре программного обеспечения, а не разработке программного обеспечения

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

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

Где вы можете узнать о архитектуре программного обеспечения? Одно место — это ваши системы построения опыта. Другим является общение с другими разработчиками или чтение их кода. Еще одно место — книги. Я являюсь автором книги по архитектуре программного обеспечения (Just Enough Software Architecture), но позвольте мне вместо этого указать вам на некоторые классики:

  • Архитектура программного обеспечения на практике (Bass, Clements, Kazman). В этой книге из Института программного обеспечения (SEI) описывается, как архитекторы должны думать о проблемах. В нем описывается важность атрибутов качества (производительность, безопасность, изменяемость и т.д.) И способы компромиссов между ними, поскольку вы не можете максимизировать их все.
  • Документирование архитектур программного обеспечения (много авторов SEI/CMU). Название этой книги немного страшно, потому что многие люди стараются избегать написания документов с полками. Но замечательная вещь в книге заключается в том, что она описывает стандартные архитектурные стили/шаблоны, обозначения для описания структуры и поведения и концептуальную модель понимания архитектур. Все это ценно, даже если вы только когда-либо рисуете на доске.
  • Архитектура систем программного обеспечения (Росански и Вудс). Входит в подробности о том, как думать о системе с разных точек зрения (взглядов). Особенно мне нравится, что он дает контрольные списки для обеспечения того, чтобы какая-либо особая проблема (например, безопасность) была обработана.
  • Основная архитектура программного обеспечения (Gorton). Небольшая, простая книга по архитектуре ИТ. Обнаруживает различные виды вещей, которые вы увидите (базы данных, автобусы событий, серверы приложений и т.д.).

Это просто короткий список и только потому, что я не перечислял что-то, это не значит, что это плохая книга. Если вы ищете что-то бесплатное для чтения сразу, я три главы моей книги доступны для загрузки на моем сайте.

Я думаю, что это книга, которая пришла на ум, когда я впервые прочитал этот вопрос. В нем рассказывается о различных архитектурных стилях, таких как трубы и фильтры, системы доски и т.д. Это старина, и я позволю вам судить, является ли это «хорошим».

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

Лучшая книга по архитектуре ЭВМ.

06.09.2011, 01:02

Книги по архитектуре и организации ЭВМ
Уважаемые гуру, подскажите какими учебниками Вы пользовались для освоения данной темы. И вообще.

Задание по Архитектуре ЭВМ и систем
Мне требуется помощь с выполнением задания, так как я в Assembler ASCII не разбираюсь. А задание.

Помогите решить задачу по архитектуре ЭВМ
решите пожалуйста задачу x = (a*3+b*c)/(b-4) Пример x=(a*2+b*c)/(d-3) программа выполняет.

ForCoder

Книги о проектировании и разработке ПО, скачать бесплатные книги, самоучители и учебники о проектировании и разработке ПО в хорошем качестве

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

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

4,302 просмотров всего, 2 просмотров сегодня

Release it! Проектирование и дизайн ПО для тех, кому не все равно

Неважно, каким инструментом вы пользуетесь для программной разработки — Java, .NET, или Ruby on Rails. Написание кода — это еще только полдела. Готовы ли вы к внезапному наплыву ботов на ваш сайт? Предусмотрена ли в вашем ПО «защита от дурака»? Правильно ли вы понимаете юзабилити? Майкл Нейгард утверждает, что большинство проблем в программных продуктах были заложены в них еще на стадии дизайна и проектирования. Вы можете двигаться к идеалу сами — методом проб и ошибок, а можете использовать опыт автора. В этой книге вы найдете множество шаблонов про- ектирования, помогающих избежать критических ситуаций, и не меньшее количество антишаблонов, иллюстрирующих неправильные подходы с подробным анализом возможных последствий. Любой разработчик, имеющий опыт многопоточного программирования, легко разберется в приведенных примерах на Java, которые подробно поясняются и комментируются.
Стабильность, безопасность и дружественный интерфейс — вот три важнейших слагаемых успеха вашего программного продукта. Если в ваши планы не входит в течение последующих лет отвечать на недовольные письма пользователей, выслушивать критику заказчиков и постоянно латать дыры, устраняя возникающие баги, то прежде чем выпустить финальный релиз, прочтите эту книгу.

6,173 просмотров всего, 2 просмотров сегодня

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

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

5,386 просмотров всего, 1 просмотров сегодня

Patterns, Principles, and Practices of Domain-Driven Design

Methods for managing complex software construction following the practices, principles and patterns of Domain–Driven Design with code examples in C#.

This book presents the philosophy of Domain–Driven Design (DDD) in a down–to–earth and practical manner for experienced developers building applications for complex domains. A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space. You will learn how to build effective domain models through the use of tactical patterns and how to retain their integrity by applying the strategic patterns of DDD. Full end–to–end coding examples demonstrate techniques for integrating a decomposed and distributed solution space while coding best practices and patterns advise you on how to architect applications for maintenance and scale.
— Offers a thorough introduction to the philosophy of DDD for professional developers
— Includes masses of code and examples of concept in action that other books have only covered theoretically
— Covers the patterns of CQRS, Messaging, REST, Event Sourcing and Event–Driven Architectures
— Also ideal for Java developers who want to better understand the implementation of DDD

Мастер Йода рекомендует:  Как найти прямоугольники на изображении без OpenCV

9,396 просмотров всего, 4 просмотров сегодня

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

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

23,721 просмотров всего, 4 просмотров сегодня

Технологии параллельного программирования

Описание книги Технологии параллельного программирования:
Рассматриваются современные средства разработки параллельных программ для многопроцессорных и многоядерных систем с общей и распределенной памятью: библиотеки MPI, POSIX Threads, система ОреnМР. Изложение материала построено по модели постепенного усложнения и базируется на примерах реализации различных вычислительных алгоритмов.

7,447 просмотров всего, 1 просмотров сегодня

Искусство планирования мощностей

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

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

7,202 просмотров всего, 1 просмотров сегодня

Web Service Contract Design and Versioning for SOA

Описание книги Web Service Contract Design and Versioning for SOA:
For Web services to succeed as part of SOA, they require balanced, effective technical contracts that enable services to be evolved and repeatedly reused for years to come. Now, a team of industry experts presents the first end-to-end guide to designing and governing Web service contracts.

Writing for developers, architects, governance specialists, and other IT professionals, the authors cover the following areas:

  • Understanding Web Service Contract Technologies
  • Fundamental and Advanced WSDL
  • Fundamental and Advanced XML Schema
  • Fundamental and Advanced WS-Policy
  • Fundamental Message Design with SOAP
  • Advanced Message Design with WS-Addressing
  • Advanced Message Design with MTOM, and SwA
  • Versioning Techniques and Strategies
  • Web Service Contracts and SOA

5,403 просмотров всего, 1 просмотров сегодня

Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures (Patterns & Practices)

Описание книги Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures (Patterns & Practices):
The CPU meter shows the problem. One core is running at 100 percent, but all the other cores are idle. Your application is CPU-bound, but you are using only a fraction of the computing power of your multicore system. What next?

The answer, in a nutshell, is parallel programming. Where you once would have written the kind of sequential code that is familiar to all programmers, you now find that this no longer meets your performance goals. To use your system’s CPU resources efficiently, you need to split your application into pieces that can run at the same time. This is easier said than done. Parallel programming has a reputation for being the domain of experts and a minefield of subtle, hard-to-reproduce software defects.

7,209 просмотров всего, сегодня нет просмотров

Оптимизация ПО. Сборник рецептов

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

  • Введение
  • Тест производительности
  • Инструменты повышения производительности
  • Горячие точки
  • Архитектура процессоров

Часть II. ПРОБЛЕМЫ ПРОИЗВОДИТЕЛЬНОСТИ

  • Алгоритмы
  • Переходы
  • Память
  • Циклы
  • Медленные операции
  • Операции с плавающей точкой
  • Технология SIMD
  • Автоматическая векторизация
  • Специфические для процессоров варианты оптимизации
  • Основы многопроцессорной обработки
  • Реализация многопоточности средствами ОреnМР
  • Очередь заданий и другие сложные темы

Часть III. РАЗРАБОТКА И ОПТИМИЗАЦИЯ ПРИЛОЖЕНИЙ

  • Конкретный пример поточной обработки в видеокодеке
  • Разработка с прицелом на производительность
  • Сводим все вместе — базовые варианты оптимизации
  • Сводим все вместе — последние десять процентов

7,078 просмотров всего, 1 просмотров сегодня

Чистая архитектура. Искусство разработки программного обеспечения – Роберт Мартин

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

Название: Чистая архитектура. Искусство разработки программного обеспечения;

Автор: Роберт Мартин;
Жанр: Программирование;
Страниц: 352;
Формат: pdf;
Размер файла: 12 Мб.
Год: 2020.
Язык: русский.

Книги, посвященные архитектуре программного обеспечения, а не разработке программного обеспечения

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

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

Создан 10 апр. 11 2011-04-10 04:12:51 Invincible

3 ответа

Я не знаком с книгами, в которых подробно описываются архитектуры, а не дизайн. Я в основном использую книги по дизайну, чтобы понять, как я буду строить такую ​​систему, и я использую такие источники, как highscalability, чтобы узнать о архитектуре различных компаний, просто взгляните на вкладку «Все время избранных» справа, и вы отображаются сообщения об архитектуре YouTube, Twitter, Google, Amazon, Flickr и даже this site .

Создан 10 апр. 11 2011-04-10 04:28:39 Asaf

Я думаю это книга, которая пришла в голову, когда я впервые прочитал этот вопрос. В нем рассказывается о различных архитектурных стилях, таких как трубы и фильтры, системы доски и т. Д. Это старина, и я позволю вам судить, является ли это «хорошим».

Я также особенно как эти два, особенно первый. Второй начинает копаться в более низких паттернов проектирования уровня, но это все-таки удивительным в разных местах:

Я надеюсь, что это то, что вы имели в виду.

Создан 10 апр. 11 2011-04-10 04:58:53 Anonymous

Где вы можете узнать о архитектуре программного обеспечения? Одно место — это ваши системы построения опыта. Другим является общение с другими разработчиками или чтение их кода. Еще одно место — книги. Я являюсь автором книги по архитектуре программного обеспечения (Just Enough Software Architecture), но позвольте мне вместо того, чтобы указать вам на некоторые классики:

  • Software Architecture in Practice (Bass, Clements, Kazman). В этой книге из Института программного обеспечения (SEI) описывается, как архитекторы должны думать о проблемах. В нем описывается важность атрибутов качества (производительность, безопасность, изменчивость и т. Д.) И способы их компромиссов, поскольку вы не можете максимизировать их все.
  • Documenting Software Architectures (lots of SEI/CMU authors). Название этой книги немного страшно, потому что многие люди стараются избегать написания документов с полками. Но замечательная вещь в книге заключается в том, что она описывает стандартные архитектурные стили/шаблоны, обозначения для описания структуры и поведения и концептуальную модель понимания архитектур. Все это ценно, даже если вы только когда-либо рисуете на доске.
  • Software Systems Architecture (Rosanski and Woods). Входит в подробности о том, как думать о системе с разных точек зрения (взглядов). Особенно мне нравится то, что он дает контрольные списки для обеспечения того, чтобы какая-либо особая проблема (например, безопасность) была обработана.
  • Essential Software Architecture (Gorton). Небольшая, простая книга по архитектуре ИТ. Обнаруживает различные виды вещей, которые вы увидите (базы данных, автобусы событий, серверы приложений и т. Д.)

Это всего лишь короткий список, и только потому, что я не перечислял что-то, это не значит, что это плохая книга ,Если вы ищете что-то бесплатное для чтения сразу, у меня есть three chapters of my book, который можно скачать на моем сайте.

Создан 10 апр. 11 2011-04-10 21:32:27 George Fairbanks

Книги по архитектуре? [закрыт]

Можете подсказать толковые книги по строению архитектуры?

Закрыт по причине того, что не по теме участниками Oceinic, Timofei Bondarev, Dmitry D., Vladimir Glinskikh, Max Mikheyenko 14 окт ’15 в 21:57 .

Похоже, этот вопрос не соответствует тематике сайта. Те, кто голосовал за его закрытие, указывали следующую причину:

  • «Вопросы-опросники запрещены на Stack Overflow на русском. Для получения ответа, перефразируйте ваш вопрос так, чтобы на него можно было дать однозначно правильный ответ.» – Timofei Bondarev, Dmitry D., Vladimir Glinskikh, Max Mikheyenko

Если вопрос можно переформулировать согласно правилам, изложенным в справке, отредактируйте его.

Добавить комментарий