Лучшие книги по теории и практике архитектуры программного обеспечения? [закрыто]

32

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

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

Крейг Шварц
источник
3
Это не прямой ответ, так что просто комментарий. Лучший (и действительно единственный) способ научиться быть архитектором - это другой архитектор, предпочтительно мастер-архитектор. Архитектура и разработка программного обеспечения в целом все еще находятся в доиндустриализированном состоянии с точки зрения других технических дисциплин. Мы по-прежнему делаем ученик-> подмастерье-> мастер-класс.
JP Alioto

Ответы:

15

альтернативный текст

(ссылка на книгу)

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

azheglov
источник
когда она была опубликована, это была хорошая книга, но я думаю, что большинство моделей там не очень широко используются в промышленности. Не плохая книга, но точно не одна из 5 лучших по моему мнению
Uberto
Хотя она и называется «Архитектура корпоративных приложений», она примерно на том же уровне, что и книга «Шаблоны проектирования GoF», которая представляет собой проект уровня класса, а не архитектуры уровня приложения.
Томас Оуэнс
Тьфу, мне не нравится эта книга. Это не поможет вам стать архитектором.
JP Alioto
Книга в порядке, но на самом деле речь идет только о корпоративных приложениях. Если вы занимаетесь каким-либо другим видом разработки (например, настольным, мобильным, встроенным), это не очень полезно.
nikie
16

альтернативный текст

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

TaylorOtwell
источник
11

Часто цитируемая / цитируемая книга по архитектурам программного обеспечения, и книга, использованная при прохождении курса «Архитектура программного обеспечения» в моем университете, называется « Архитектура программного обеспечения на практике» (2-е издание) Лена Басса, Пола Клементса и Рика Казмана .

По крайней мере, один профессор, который преподает курс, переключил учебник на Архитектуру систем программного обеспечения Ника Розански и Эоина Вудса , но я не могу ручаться за качество или содержание этой книги. По словам Серхио Акосты (в комментариях), книга Розанского более новая, основанная на работе Басса, и он считает, что ее легче читать. Я редко разочаровываюсь в книгах, используемых в программе разработки программного обеспечения.

Томас Оуэнс
источник
2
Я использовал оба (Бас и Розанский). Басс был архитектурной библией долгое время, но Розанский более новый и более современный; это легче читать и в значительной степени основано на басе. Я настоятельно рекомендую начать с Розанского.
Серхио Акоста
1
+1 Басовая книга была хорошо прочитана, когда я начал изучать архитектуру. Это немного сухо, но это дает вам представление о том, о каких вещах вы должны думать.
RationalGeek
10

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

Необходимо прочитать для всех программистов:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

Черный лед
источник
2
Устаревшая книга сейчас. Большинство паттернов «Банды четырех» стали настолько неправильно использованы, что теперь они почти анти-паттерны. Как синглтон и абстрактная фабрика.
Uberto
1
@Uberto Вот почему каждый должен прочитать эту книгу. Это объясняет, почему и как использовать каждый шаблон вместе с тем, когда вы, вероятно, должны рассмотреть что-то еще. Если больше людей прочитают всю запись шаблона, я думаю, что многие из этих проблем исчезнут.
Томас Оуэнс
Я обнаружил, что эту книгу очень тяжело читать и понимать. Я подозреваю, что большинство людей просто делают вид, что читают его и копируют примеры. Поэтому я не буду предлагать это в качестве первой книги для будущего архитектора. Конечно, это важно для исторической точки зрения современной архитектуры SW.
Uberto
Кто-нибудь еще думает, что Groupthink является огромной болезнью в профессии программного обеспечения? Если следование гуру вслепую (не то, что ожидала книга, а то, что на самом деле произошло) - вот куда уходит профессия, я думаю, что профессия программиста обречена. Я не виню эту книгу. Я обвиняю людей, которые читают это, и начал думать, что уродливый шаблон-фу может покрыть их отсутствие заботы о других основополагающих методах чистого кодирования.
Уоррен П
8

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

введите описание изображения здесь

Захари К
источник
Зак, ты один читал? Я смотрел на него раньше, но его амазонские обзоры выглядели не так здорово.
ДХМ
Я прочитал куски этого. Я не уверен, что я прочитал каждое эссе, но некоторые из тех, которые я прочитал, стоили того.
Захари К К
7

альтернативный текст

это был бы мой выбор №2. Хорошая книга о практиках и хороший код. Немного педантичный иногда.

Uberto
источник
Я согласен с тем, что это педантично, но практика, которую он защищает, намного лучше, чем 2000 линейных функций.
riwalk
Да, конечно, содержание очень очень хорошее.
Uberto
Эта книга слишком низкого уровня, чтобы считаться архитектурой программного обеспечения.
Стивен Джеурис
6

альтернативный текст

Это мой выбор № 1 прямо сейчас. Лучшая книга о том, как создать (вырастить) приложение сейчас.

Uberto
источник
3

Я нашел тома 1 и 4 Pattern-Oriented Software Architecture очень полезными. Я уверен, что другие тома тоже хороши, я просто не читал их, поэтому я не могу рекомендовать их.

TMN
источник
3

Я не буду ссылаться на те, что уже были другими, поэтому я добавлю это:

Концепции Техники и модели компьютерного программирования , Питер Ван Рой и Сейф Хариди

Концепции Техника и модели компьютерного программирования

Очевидная проблема заключается в том, что она использовала ныне (своего рода) несуществующую систему программирования Моцарта и удивительный язык программирования Oz . Который затем породил другие интересные эксперименты, такие как язык программирования Alice ML .

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

Немного многословно, но очень хорошо написано.

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

оборота хайлем
источник
2

Интересная книга - Архитектура приложений с открытым исходным кодом.

Архитекторы смотрят на тысячи зданий во время их обучения и изучают критику этих зданий, написанную мастерами. Напротив, большинство разработчиков программного обеспечения только когда-либо хорошо знакомы с несколькими крупными программами - обычно программами, которые они написали сами - и никогда не изучают великие программы истории. В результате они повторяют ошибки друг друга, а не опираются на успехи друг друга.

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

Larsen
источник
2

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

http://msdn.microsoft.com/en-us/library/ff650706.aspx

Плюс много их официальных документов по дизайну здесь:

http://msdn.microsoft.com/en-us/practices/bb190351

Вы, вероятно, хотите прочитать о шаблонах проектирования:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

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

Rocklan
источник
2

попробуйте эту маленькую книгу .

Архитектура программного обеспечения для разработчиков - Книга Практическое и прагматическое руководство по архитектуре программного обеспечения

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

  1. Что такое архитектура программного обеспечения?

  2. Какова роль архитектора программного обеспечения?

  3. Как вы определяете архитектуру программного обеспечения?

  4. Как вы разделяете архитектуру программного обеспечения?

  5. Как вы поставляете программную архитектуру?

Negm Phlestin
источник
В блоге codingthearchitecture.com также есть отличные посты о дисциплине архитектуры программного обеспечения.
RationalGeek,
1

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

Несколько заметок:

«Чистый код», упомянутый выше, является одной из лучших книг, которые я когда-либо читал по программированию . Но это, конечно, не книга об архитектуре. Обязательное чтение для разработчиков, да, но не дает большого понимания того, как большие вещи сочетаются друг с другом, imo.

«PoEAA» Фаулера - хорошая книга, но, как сказал кто-то другой, она уже давно устарела, и многие из представленных шаблонов устарели несколько лет назад.

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

NisLSimonsen
источник
1

Что бы я посоветовал, пожалуйста, сначала прочитайте Code Complete 2 . Это поможет вам сформировать свои мысли и найти лучший способ сделать что-то.

С точки зрения архитектуры, это хорошее начало с GOF или Head First Design Patterns.

Шаблоны Enterprise Application Architecture - отличная книга

Сарат
источник