Sách hay nhất về lý thuyết và thực hành kiến ​​trúc phần mềm? [đóng cửa]


32

Tôi có một vài nhà phát triển tại công ty của tôi muốn chuyển từ lập trình sang kiến ​​trúc. Những cuốn sách tốt nhất hiện có về lý thuyết và thực hành kiến ​​trúc phần mềm là gì? Bao gồm một hình ảnh bìa nếu bạn có thể.

Vui lòng bao gồm các cuốn sách nói chung, và cả những cuốn sách liên quan đến một công nghệ cụ thể.


3
Đây không phải là một câu trả lời trực tiếp, vì vậy chỉ là một nhận xét. Cách tốt nhất (và thực sự duy nhất) để học cách trở thành một kiến ​​trúc sư là từ một kiến ​​trúc sư khác, tốt nhất là một kiến ​​trúc sư bậc thầy. Kiến trúc và Kỹ thuật phần mềm nói chung vẫn còn ở trạng thái tiền công nghiệp hóa từ quan điểm của các ngành kỹ thuật khác. Chúng tôi vẫn học việc-> hành trình-> thăng tiến loại chủ.
JP Alioto

Câu trả lời:


15

văn bản thay thế

(liên kết đến cuốn sách)

Đây là một cuốn sách khá hay, mặc dù nó không liên quan đến kiến ​​trúc phần mềm nói chung, mà với kiến ​​trúc của các ứng dụng kinh doanh.


đó là một cuốn sách hay khi xuất bản, nhưng tôi nghĩ hầu hết các mẫu ở đó không được sử dụng nhiều trong ngành. Không phải là một cuốn sách tồi nhưng chắc chắn không phải là một trong top 5 theo ý kiến ​​của tôi
Uber đến

Mặc dù được gọi là "Kiến trúc ứng dụng doanh nghiệp", nhưng nó gần ngang tầm với sách Mẫu thiết kế của GoF, đây là một thiết kế cấp lớp chứ không phải là kiến ​​trúc cấp ứng dụng.
Thomas Owens

Ugh, tôi không thích cuốn sách này. Nó sẽ không giúp bạn trở thành một kiến ​​trúc sư.
JP Alioto

Cuốn sách này ổn, nhưng nó thực sự chỉ nói về các ứng dụng doanh nghiệp. Nếu bạn đang thực hiện bất kỳ loại phát triển nào khác (ví dụ: máy tính để bàn, thiết bị di động, được nhúng) thì sẽ không hữu ích lắm.
nikie

16

văn bản thay thế

Nhưng, tôi sẽ khuyến khích các nhà phát triển này không chuyển sang kiến ​​trúc và hoàn toàn quên đi việc lập trình. Nếu họ làm như vậy, họ sẽ không có bất kỳ sự tôn trọng nào từ các lập trình viên và họ sẽ không được trang bị phù hợp để đưa ra quyết định kiến ​​trúc.


11

Cuốn sách thường được trích dẫn / tham khảo về kiến ​​trúc phần mềm và cuốn sách được sử dụng khi tôi tham gia khóa Kiến trúc phần mềm tại trường đại học của tôi là Kiến trúc phần mềm trong thực hành (Ấn bản 2) của Len Bass, Paul Clements và Rick Kazman .

Ít nhất một giáo sư giảng dạy khóa học đã chuyển đổi sách giáo khoa sang Kiến trúc hệ thống phần mềm của Nick Rozanski và Eoin Woods , nhưng tôi không thể đảm bảo chất lượng hoặc nội dung của cuốn sách đó. Theo Sergio Acosta (trong các bình luận), cuốn sách của Rozanski mới hơn, dựa trên tác phẩm của Bass, và ông cho rằng nó dễ đọc hơn. Tôi hiếm khi thất vọng bởi những cuốn sách được sử dụng trong chương trình kỹ thuật phần mềm.


2
Tôi đã sử dụng cả hai (Bass và Rozanski). Bass 'là kinh thánh kiến ​​trúc trong một thời gian dài, nhưng Rozanski là mới hơn và cập nhật hơn; nó dễ đọc hơn và dựa nhiều vào Bass '. Tôi thực sự khuyên bạn nên bắt đầu với Rozanski.
Sergio Acosta

1
+1 cuốn sách Bass là một cuốn sách hay khi tôi bắt đầu học kiến ​​trúc. Nó hơi khô khan nhưng nó cho bạn ý tưởng về những điều bạn nên suy nghĩ.
RationalGeek

10

Mẫu thiết kế

Phải đọc cho tất cả các lập trình viên:

http://www.amazon.com/Design-Potypes-Elements-Reustom-Object-Orients/dp/0201633612


2
Cuốn sách lỗi thời bây giờ. Hầu hết các mô hình của Gang of Four đều trở nên bị lạm dụng đến mức gần như chống lại các mẫu hiện nay. Giống như nhà máy đơn lẻ và trừu tượng.
Uber đến

1
@Uberto Đó là lý do tại sao mọi người nên đọc cuốn sách này. Nó giải thích tại sao và làm thế nào để sử dụng từng mẫu cùng với khi bạn có thể nên xem xét một cái gì đó khác. Nếu nhiều người đọc toàn bộ mục nhập mẫu, tôi nghĩ rằng rất nhiều vấn đề sẽ biến mất.
Thomas Owens

Tôi thấy cuốn sách đó rất nặng để đọc và hiểu. Tôi nghi ngờ hầu hết mọi người chỉ giả vờ rằng họ đọc nó và sao chép-dán các ví dụ. Vì vậy, tôi sẽ không đề xuất nó như cuốn sách đầu tiên cho một kiến ​​trúc sư tương lai. Để chắc chắn rằng nó quan trọng đối với quan điểm lịch sử của kiến ​​trúc sw hiện tại.
Uber đến

Có ai khác nghĩ rằng Groupthink là một căn bệnh khổng lồ trong nghề phần mềm không? Nếu theo các bậc thầy một cách mù quáng (không phải những gì cuốn sách mong đợi, nhưng thực tế đã xảy ra) là nơi mà nghề nghiệp đang diễn ra, tôi nghĩ rằng nghề phần mềm sẽ bị tiêu diệt. Tôi không đổ lỗi cho cuốn sách này. Tôi đổ lỗi cho những người đọc nó và bắt đầu nghĩ rằng việc tìm kiếm mô hình có thể che đậy cho sự thiếu quan tâm của họ đối với các hoạt động cơ bản khác của mã hóa sạch.
Warren P


7

văn bản thay thế

đây sẽ là lựa chọn số 2 của tôi Cuốn sách tốt về thực hành và mã tốt. Một chút pedantic đôi khi.


Tôi đồng ý về việc nó mang tính mô phạm, nhưng thực tiễn mà nó ủng hộ tốt hơn nhiều so với 2000 hàm dòng.
riwalk

Có chắc chắn, nội dung là một rất rất tốt.
Uber đến

Cuốn sách này quá thấp để được coi là kiến ​​trúc phần mềm.
Steven Jeuris

6

văn bản thay thế

Đây là lựa chọn số 1 của tôi ngay bây giờ. Cuốn sách tốt nhất về cách xây dựng (phát triển) ứng dụng bây giờ.






3

Tôi sẽ không trích dẫn những cái đã được người khác, vì vậy tôi sẽ thêm cái này:

Khái niệm về kỹ thuật và mô hình lập trình máy tính , bởi peter Van Roy và Seif Haridi

Khái niệm về kỹ thuật và mô hình lập trình máy tính

Vấn đề rõ ràng là nó đã sử dụng Hệ thống lập trình Mozart hiện không còn tồn tại và ngôn ngữ lập trình Oz tuyệt vời . Sau đó sinh ra các thí nghiệm thú vị khác như ngôn ngữ lập trình Alice ML .

Tuy nhiên, đây là một cuốn sách tuyệt vời, để học lập trình máy tính và hiểu sâu về các khái niệm CS và tổng quan tốt về các khái niệm kiến ​​trúc mà không cần sử dụng buzzwords.

Một chút dài dòng đôi khi, nhưng được viết rất tốt.

Có thể nhiều cuốn sách lý thuyết CS cuối cùng hơn một cuốn sách kiến ​​trúc doanh nghiệp, nhưng tôi thấy những lời dạy của nó rất có giá trị để áp dụng cho phần mềm công nghiệp.




2

Một cuốn sách thú vị là Kiến trúc của các ứng dụng nguồn mở

Các kiến ​​trúc sư nhìn vào hàng ngàn tòa nhà trong quá trình đào tạo của họ, và nghiên cứu các bài phê bình về những tòa nhà được viết bởi các bậc thầy. Ngược lại, hầu hết các nhà phát triển phần mềm chỉ biết đến một số ít các chương trình lớn, thường là các chương trình do họ tự viết và không bao giờ nghiên cứu các chương trình vĩ đại của lịch sử. Kết quả là, họ lặp lại sai lầm của nhau thay vì dựa trên thành công của nhau.

Mục tiêu của cuốn sách này là thay đổi điều đó. Trong đó, các tác giả của hai mươi lăm ứng dụng nguồn mở giải thích cách cấu trúc phần mềm của họ và tại sao. Các thành phần chính của mỗi chương trình là gì? Làm thế nào để họ tương tác? Và những người xây dựng của họ đã học được gì trong quá trình phát triển của họ? Khi trả lời những câu hỏi này, những người đóng góp cho cuốn sách này cung cấp những hiểu biết độc đáo về cách họ nghĩ


2

Microsoft có một số thứ thực sự tốt về điều này. Để bắt đầu, họ có một cuốn sách miễn phí tuyệt vời có sẵn ở đây:

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

Cộng với rất nhiều giấy tờ trắng về thiết kế của họ ở đây:

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

Bạn có thể muốn đọc lên các mẫu thiết kế:

http://www.amazon.com/Design-Potypes-Elements-Reustom-Object-Orients/dp/0201633612

Và sau đó là những tác phẩm kinh điển - tháng người đàn ông huyền thoại, mã hoàn chỉnh, lập trình viên thực dụng, v.v ... Một chút googling sẽ giúp bạn tìm thấy những cuốn sách hay.


2

Hãy thử cuốn sách nhỏ này .

Kiến trúc phần mềm dành cho nhà phát triển - Cuốn sách Hướng dẫn thực tế và thiết thực về kiến ​​trúc phần mềm

Cuốn sách này là một tập hợp các bài tiểu luận cùng nhau tạo thành một hướng dẫn thực tế và thực tế về kiến ​​trúc phần mềm.

  1. Kiến trúc phần mềm là gì?

  2. Vai trò của một kiến ​​trúc sư phần mềm là gì?

  3. Làm thế nào để bạn xác định kiến ​​trúc phần mềm?

  4. Làm thế nào để bạn chia sẻ kiến ​​trúc phần mềm?

  5. Làm thế nào để bạn cung cấp kiến ​​trúc phần mềm?


Blog mã hóa nghiên cứu.com cũng có một số bài viết xuất sắc về kỷ luật của kiến ​​trúc phần mềm.
RationalGeek


1

Theo một cách nào đó, câu hỏi mà bạn đang hỏi rất khó hiểu. Kiến trúc phần mềm là những thứ khác nhau và kiến ​​trúc sư phần mềm là một nhóm rất đa dạng.

Một số lưu ý, mặc dù:

"Clean Code" được đề cập ở trên là một trong những cuốn sách hay nhất tôi từng đọc về lập trình . Nhưng nó chắc chắn không phải là một cuốn sách về kiến ​​trúc. Có, việc đọc bắt buộc đối với các nhà phát triển, vâng, nhưng không cung cấp nhiều thông tin chi tiết về cách các công cụ lớn hơn khớp với nhau, imo.

"PoEAA" của Fowler là một cuốn sách hay, nhưng như một người khác đã nói, loại cũ và nhiều mẫu được trình bày đã bị lỗi thời vài năm trước.

Cuốn sách DDD của Eric Evans là một cuốn sách rất vững chắc và rất truyền cảm về xây dựng phần mềm và cộng tác khách hàng - những kỹ năng quý giá cho các kiến ​​trúc sư, nhưng cũng tốt cho các nhà phát triển.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.