Najlepsze książki z teorii i praktyki architektury oprogramowania? [Zamknięte]

32

W mojej firmie mam kilku programistów, którzy chcą przejść od programowania do architektury. Jakie są najlepsze książki na temat teorii i praktyki architektury oprogramowania? Dodaj zdjęcie na okładkę, jeśli możesz.

Dołącz ogólne książki, a także książki dotyczące konkretnej technologii.

Craig Schwarze
źródło
3
To nie jest bezpośrednia odpowiedź, więc tylko komentarz. Najlepszym (i naprawdę jedynym) sposobem na naukę bycia architektem jest inny architekt, najlepiej architekt główny. Architektura oprogramowania i inżynieria ogólnie jest nadal w stanie uprzemysłowionym z perspektywy innych dziedzin inżynierii. Nadal zajmujemy się doskonaleniem typu czeladnik-> czeladnik->.
JP Alioto,

Odpowiedzi:

15

alternatywny tekst

(link do książki)

Jest to całkiem dobra książka, choć nie dotyczy ogólnie architektury oprogramowania, ale architektury aplikacji biznesowych.

azheglov
źródło
po opublikowaniu była to dobra książka, ale myślę, że większość wzorów nie jest zbyt często stosowana w branży. Nie jest to zła książka, ale na pewno nie jedna z 5 najlepszych, moim zdaniem
Uberto
Chociaż nazywa się to „Enterprise Application Architecture”, jest mniej więcej na tym samym poziomie, co książka GoF Design Patterns, która jest projektem na poziomie klasy, a nie architekturą na poziomie aplikacji.
Thomas Owens
Ugh, nie lubię tej książki. To nie pomoże ci zostać architektem.
JP Alioto,
Książka jest w porządku, ale tak naprawdę dotyczy tylko aplikacji korporacyjnych. Jeśli robisz inne prace programistyczne (np. Na komputery stacjonarne, urządzenia mobilne, wbudowane), nie jest to zbyt przydatne.
nikie
16

alternatywny tekst

Ale zachęcam tych programistów, aby nie przechodzili do architektury i całkowicie zapomnieli o programowaniu. Jeśli to zrobią, nie będą mieli szacunku ze strony programistów i nie będą odpowiednio przygotowani do podejmowania decyzji architektonicznych.

TaylorOtwell
źródło
11

Powszechnie cytowana / przywoływana książka o architekturze oprogramowania oraz książka używana na studiach architektury oprogramowania na mojej uczelni to Software Architecture in Practice (wydanie 2) Len Bass, Paul Clements i Rick Kazman .

Przynajmniej jeden profesor, który prowadzi kurs, przestawił podręcznik na architekturę oprogramowania systemów autorstwa Nicka Różańskiego i Eoina Woodsa , ale nie mogę ręczyć za jakość ani treść tej książki. Według Sergio Acosty (w komentarzach) książka Różańskiego jest nowsza, oparta na pracy Bassa i uważa, że ​​łatwiej ją czytać. Rzadko rozczarowują mnie książki używane w programie inżynierii oprogramowania.

Thomas Owens
źródło
2
Użyłem obu (bas i Rozański). Bass 'był biblijną architekturą przez długi czas, ale Różańskiego jest nowszy i bardziej aktualny; jest łatwiejszy do odczytania i mocno oparty na basie ”. Gorąco polecam zacząć od Rozańskiego.
Sergio Acosta,
1
+1 książka o basie była dobrą lekturą, kiedy zacząłem zajmować się architekturą. Jest trochę wytrawny, ale daje wyobrażenie o rzeczach, o których powinieneś pomyśleć.
RationalGeek
10

Wzorce projektowe

Należy przeczytać dla wszystkich programistów:

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

Czarny lód
źródło
2
Przestarzała książka teraz. Większość wzorów Gangu Czterech została tak niewłaściwie wykorzystana, że ​​są już prawie anty-wzorami. Jak singleton i abstrakcyjna fabryka.
Uberto,
1
@Uberto Dlatego każdy powinien przeczytać tę książkę. Wyjaśnia, dlaczego i jak używać każdego wzoru, a także kiedy prawdopodobnie powinieneś rozważyć coś innego. Jeśli więcej osób przeczyta cały zapis wzorca, myślę, że wiele z tych problemów zniknęłoby.
Thomas Owens
Uważam tę książkę za bardzo trudną do przeczytania i zrozumienia. Podejrzewam, że większość ludzi udaje, że je czyta i kopiuje i wkleja przykłady. Nie będę więc sugerował tego jako pierwszej książki dla przyszłego architekta. Z pewnością jest to ważne z historycznego punktu widzenia obecnej architektury SW.
Uberto,
Czy ktoś jeszcze uważa, że ​​Groupthink to ogromna choroba w zawodzie oprogramowania? Jeśli ślepe podążanie za guru (nie to, czego oczekiwała książka, ale to, co się faktycznie wydarzyło) jest miejscem, w którym zmierza zawód, myślę, że zawód programisty jest skazany na niepowodzenie. Nie obwiniam tej książki. Obwiniam ludzi, którzy ją czytają, i zacząłem myśleć, że grokking pattern-fu może zaspokoić ich brak dbałości o inne podstawowe praktyki czystego kodowania.
Warren P
7

alternatywny tekst

to byłby mój wybór nr 2. Dobra książka o praktykach i dobrym kodzie. Czasami trochę pedantyczny.

Uberto
źródło
Zgadzam się, że jest pedantyczny, ale zalecane przez niego praktyki są znacznie lepsze niż 2000 funkcji liniowych.
riwalk
Tak, oczywiście, treść jest bardzo, bardzo dobra.
Uberto,
Ta książka jest zbyt niskiego poziomu, aby uznać ją za architekturę oprogramowania.
Steven Jeuris,
6

alternatywny tekst

To jest teraz mój wybór nr 1. Najlepsza książka o tym, jak teraz budować (rozwijać) aplikację.

Uberto
źródło
3

Nie będę cytował tych, które były już przez innych, więc dodam ten:

Pojęcia Techniki i modele programowania komputerowego , autor: Van Van Roy i Seif Haridi

Pojęcia Techniki i modele programowania komputerowego

Oczywistym problemem jest to, że używał on (niejako) nieistniejącego Systemu Programowania Mozart i niesamowitego języka programowania Oz . Które następnie zrodziły inne interesujące eksperymenty, takie jak język programowania Alice ML .

Jest to jednak niesamowita książka, zarówno do nauki programowania komputerowego, jak i dogłębnego zrozumienia koncepcji CS oraz dobrego przeglądu koncepcji architektury bez użycia modnych słów.

Czasami trochę gadatliwy, ale bardzo dobrze napisany.

Być może bardziej książka z teorii CS niż książka o architekturze korporacyjnej, ale uważam, że jej nauki są bardzo cenne w zastosowaniu do oprogramowania branżowego.

szaleńca
źródło
2

Ciekawą książką jest Architektura aplikacji Open Source

Podczas szkolenia architekci przyglądają się tysiącom budynków i badają krytykę tych budynków napisaną przez mistrzów. W przeciwieństwie do tego większość programistów zawsze dobrze poznaje garść dużych programów - zwykle programów, które sami napisali - i nigdy nie studiuje wielkich programów historycznych. W rezultacie powtarzają sobie nawzajem błędy, zamiast budować nawzajem swoje sukcesy.

Celem tej książki jest to zmienić. W nim autorzy dwudziestu pięciu aplikacji typu open source wyjaśniają, w jaki sposób zbudowane jest ich oprogramowanie i dlaczego. Jakie są główne elementy każdego programu? Jak oni wchodzą w interakcje? A czego nauczyli się ich budowniczowie podczas rozwoju? Odpowiadając na te pytania, autorzy tej książki zapewniają unikalny wgląd w ich sposób myślenia

Larsen
źródło
2

Microsoft ma na ten temat naprawdę dobre rzeczy. Na początek mają świetną darmową książkę dostępną tutaj:

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

Plus wiele ich oficjalnych dokumentów na temat projektowania znajduje się tutaj:

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

Prawdopodobnie chcesz przeczytać o wzorach projektowych:

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

A potem są klasyki - mityczny miesiąc ludzki, kompletny kod, pragmatyczny programista itp. Trochę googlowania pomoże ci znaleźć dobre książki.

Rocklan
źródło
2

wypróbuj tę małą książkę .

Architektura oprogramowania dla programistów - książka Praktyczny i pragmatyczny przewodnik po architekturze oprogramowania

Ta książka to zbiór esejów, które razem tworzą praktyczny i pragmatyczny przewodnik po architekturze oprogramowania.

  1. Co to jest architektura oprogramowania?

  2. Jaka jest rola architekta oprogramowania?

  3. Jak definiujesz architekturę oprogramowania?

  4. Jak współdzielić architekturę oprogramowania?

  5. Jak dostarczasz architekturę oprogramowania?

Negm Phlestin
źródło
Na blogu codingthearchitecture.com znajdują się również doskonałe posty na temat dyscypliny architektury oprogramowania.
RationalGeek
1

Pytanie, które zadajesz, jest w pewnym sensie bardzo nieuchwytne. Architektura oprogramowania to różne rzeczy, a architekci oprogramowania to bardzo zróżnicowana grupa.

Kilka uwag:

Wspomniany wyżej „Clean Code” jest jedną z najlepszych książek, jakie kiedykolwiek czytałem na temat programowania . Ale z pewnością nie jest to książka o architekturze. Obowiązkowa lektura dla programistów, tak, ale nie daje wglądu w to, jak większe rzeczy pasują do siebie, imo.

„PoEAA” Fowlera to dobra książka, ale jak powiedział ktoś inny, trochę stara, a wiele z przedstawionych wzorów zostało przestarzałych kilka lat temu.

Książka DDD autorstwa Erica Evansa jest bardzo solidną i bardzo inspirującą książką na temat budowy oprogramowania i współpracy z klientami - cennych umiejętności dla architektów, ale także dobrych dla programistów.

NisLSimonsen
źródło
1

Sugeruję, aby najpierw przeczytać Kod Complete 2 . Pomoże Ci to kształtować myśli i znaleźć najlepszy sposób robienia rzeczy.

Z perspektywy architektury dobry początek to GOF lub Head First Design Patterns.

Wzory architektury aplikacji korporacyjnych to doskonała książka

sarat
źródło