Yazılım mimarisi teorisi ve pratiği üzerine en iyi kitap? [kapalı]


32

Şirketimde programlamadan mimarlığa geçmek isteyen birkaç geliştiricim var. Yazılım mimarisi teorisi ve pratiği üzerine en iyi kitaplar hangileridir? Mümkünse bir kapak resmi ekleyin.

Genel kitapları ve ayrıca belirli bir teknolojiyle ilgili kitapları eklemekten çekinmeyin.


3
Bu doğrudan bir cevap değil, o yüzden sadece bir yorum. Mimar olmayı öğrenmenin en iyi (ve gerçekten sadece) yolu, başka bir mimardan, tercihen de usta bir mimettir. Genel olarak Yazılım Mimarisi ve Mühendisliği, diğer mühendislik disiplinleri açısından hala sanayileşmiş bir durumdadır. Hala çırak-> seyahatci-> ustalık tipi ilerletme yapıyoruz.
JP Alioto,

Yanıtlar:


15

alt metin

(kitaba bağlantı)

Genel olarak yazılım mimarisiyle değil, işletme uygulamalarının mimarisiyle ilgilenmesine rağmen bu oldukça iyi bir kitap.


yayınlandığında iyi bir kitaptı, ama bence oradaki kalıpların çoğu sektörde pek kullanılmıyor. Kötü bir kitap değil ama kesin olarak bence ilk 5'ten biri değil
Uberto

Her ne kadar "Kurumsal Uygulama Mimarisi" olarak adlandırılsa da, kabaca uygulama düzeyinde bir mimariden ziyade sınıf düzeyinde bir tasarım olan GoF Tasarım Desenleri kitabıyla aynı seviyededir.
Thomas Owens

Bu kitabı sevmiyorum. Mimar olmanıza yardımcı olmaz.
JP Alioto

Kitap tamam, ama gerçekten sadece kurumsal uygulamalarla ilgili. Başka türlü bir gelişme yapıyorsanız (örneğin, masaüstü, mobil, gömülü) çok kullanışlı değildir.
nikie

16

alt metin

Ancak, bu geliştiricilerin mimariye geçmemelerini ve programlamayı tamamen unutmamalarını teşvik ediyorum. Böyle yaparlarsa, programcılardan saygılı olmazlar ve mimari kararlar almak için uygun şekilde donatılmazlar.


11

Üniversitemde Yazılım Mimarisi dersini alırken kullanılan yazılım mimarileri hakkında sıkça alıntı yapılan / atıfta bulunulan kitap ve Uygulama Kitabı (2. Baskı) Len Bass, Paul Clements ve Rick Kazman .

Dersi veren en az bir profesör, ders kitabını Nick Rozanski ve Eoin Woods'un Yazılım Sistemleri Mimarisine çevirdi , ancak o kitabın kalitesi veya içeriği için kefil olamıyorum. Sergio Acosta'a göre (yorumlarda), Rozanski'nin kitabı Bass'ın çalışmalarına dayanarak daha yeni ve okumayı daha kolay buluyor. Yazılım mühendisliği programında kullanılan kitaplar nadiren hayal kırıklığına uğruyor.


2
İkisini de kullandım (Bass ve Rozanski). Bass 'uzun süredir mimari incildi, ama Rozanski'nin yeni ve daha güncel; Bass'a dayanarak okumak kolaydır ve ağırdır. Rozanski's ile başlayan tavsiye ederim.
Sergio Acosta

1
+1 Bas kitabına mimarlığa girmeye başladığımda iyi bir okuma oldu. Biraz kuru ama düşünmeniz gereken şeyler hakkında bir fikir veriyor.
RationalGeek

10

Tasarım desenleri

Tüm programcılar için mutlaka okunması gerekenler:

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


2
Eski kitap şimdi. Dörtlü Çetenin kalıplarının çoğu, şimdi neredeyse anti-kalıp olacak şekilde kötüye kullanıldı. Singleton ve soyut fabrika gibi.
Uberto,

1
@Uberto Bu yüzden herkes bu kitabı okumalı. Her bir kalıbı neden ve nasıl kullanacağınızı ve muhtemelen başka bir şeyi düşünmeniz gerektiğini ne zaman kullanacağınızı açıklar. Örüntü girişinin tamamını daha fazla kişi okursa, bu sorunların çoğunun ortadan kalkacağını düşünüyorum.
Thomas Owens

Bu kitabı okumak ve anlamak için çok ağır buldum. İnsanların çoğunun okuduğunu iddia ettiklerinden şüpheleniyorum ve örnekleri kopyala yapıştır. Bu yüzden gelecekteki bir mimar için ilk kitap olarak önermeyeceğim. Elbette mevcut sw mimarisinin tarihsel bir bakış açısı için önemlidir.
Uberto,

Groupthink'in yazılım mesleğinde büyük bir hastalık olduğunu düşünen başka biri var mı? Eğer guruları kör bir şekilde takip ediyorsanız (kitabın beklediği gibi değil, ama aslında olanı) mesleğin olduğu yer ise, yazılım mesleğinin mahkum olduğunu düşünüyorum. Bu kitabı suçlamıyorum. Bunu okuyan insanları suçluyorum ve grokking pattern-fu'nun diğer temel temel kodlama uygulamaları konusundaki bakım eksikliklerini kapsayabileceğini düşünmeye başladım.
Warren P,


7

alt metin

Bu benim # 2 seçimim olur. Uygulamalar ve iyi kod hakkında iyi bir kitap. Bazen biraz bilgiçlik.


Pedantik olduğu konusunda hemfikirim ama savunuculuğu uygulamalar 2000 hat fonksiyonlarından çok daha iyi.
riwalk

Evet, elbette, içerik çok çok iyi bir içeriktir.
Uberto

Bu kitap yazılım mimarisi olarak kabul edilemeyecek kadar düşük.
Steven Jeuris 25:11

6

alt metin

Bu benim şu anda 1 numaralı tercihim. Şimdi uygulama oluşturma (büyütme) hakkında en iyi kitap.






3

Zaten başkaları tarafından olanları da alıntılamayacağım, bu yüzden şunu ekleyeceğim:

Peter Van Roy ve Seif Haridi'nin Bilgisayar Programlama Teknikleri ve Modelleri

Kavramlar ve Bilgisayar Programlama Modelleri

Açıkça görülen sorun, şimdi sıralanan Mozart Programlama Sistemini ve şaşırtıcı Oz programlama dilini kullanmasıdır . Daha sonra Alice ML programlama dili gibi başka ilginç deneyler ortaya çıktı .

Bununla birlikte, hem bilgisayar programlamayı öğrenmek hem de CS kavramlarını derinlemesine kavramak ve buzzwords kullanmadan mimarlık kavramlarına genel bir bakış sağlamak için harika bir kitap.

Bazen biraz ayrıntılı, ama çok iyi yazılmış.

Belki de sonunda bir CS mimarlık kitabının kurumsal mimarlık kitaplarından daha fazlası olabilir, ancak öğretilerini endüstri yazılımına uygulamak için çok değerli buluyorum.




2

Açık Kaynaklı Uygulamaların Mimarisi ilginç bir kitaptır

Mimarlar, eğitimleri sırasında binlerce binaya bakar ve ustalar tarafından yazılmış binaların eleştirilerini inceler. Buna karşılık, çoğu yazılım geliştiricisi yalnızca bir avuç büyük programı iyi tanır - genellikle kendi yazdıkları programlar - ve asla tarihin harika programlarını çalışmaz. Sonuç olarak, birbirlerinin başarılarını geliştirmek yerine, birbirlerinin hatalarını tekrarlarlar.

Bu kitabın amacı bunu değiştirmektir. İçinde, yirmi beş açık kaynaklı uygulamanın yazarı, yazılımlarının nasıl yapılandırıldığını ve nedenini açıklar. Her programın ana bileşenleri nelerdir? Nasıl etkileşirler? Ve inşaatçılar gelişimi sırasında ne öğrendiler? Bu soruları cevaplarken, bu kitaba katkıda bulunanlar, nasıl düşündükleri hakkında benzersiz bilgiler sağlar.


2

Microsoft bu konuda gerçekten çok iyi şeyler var. Başlangıç ​​için burada harika bir ücretsiz kitap var:

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

Ayrıca, tasarım hakkındaki beyaz sayfalarının birçoğu burada:

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

Muhtemelen tasarım kalıplarını okumak istersiniz:

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

Ve sonra klasikleri var - efsanevi adam ayı, kod tamamlandı, pragmatik programcı vb.


2

bu küçük kitabı dene .

Geliştiriciler için Yazılım Mimarisi - Kitap Yazılım mimarisine pratik ve pragmatik bir rehber

Bu kitap, birlikte yazılım mimarisine pratik ve pragmatik bir rehber oluşturan bir makale koleksiyonudur.

  1. Yazılım mimarisi nedir?

  2. Yazılım mimarı rolü nedir?

  3. Yazılım mimarisini nasıl tanımlarsınız?

  4. Yazılım mimarisini nasıl paylaşıyorsunuz?

  5. Yazılım mimarisini nasıl sağlıyorsunuz?


Codingthearchitecture.com blog’unda ayrıca yazılım mimarisinin disiplini hakkında bazı mükemmel mesajlar var.
RationalGeek


1

İstediğiniz soru bir şekilde çok somut. Yazılım mimarisi farklı şeylerdir ve yazılım mimarları çok çeşitli bir demet.

Yine de birkaç not:

Yukarıda belirtilen "Temiz Kod", programlama konusunda şimdiye kadar okuduğum en iyi kitaplardan biri. . Fakat kesinlikle mimarlıkla ilgili bir kitap değil. Geliştiriciler için zorunlu okuma, evet, fakat daha büyük şeylerin nasıl bir araya geldiği hakkında çok fazla fikir vermez, imo.

Fowler tarafından "PoEAA" iyi bir kitap, ancak başkasının söylediği gibi, şimdi biraz eski ve sunulan kalıpların birçoğu birkaç yıl önce kullanılmıyor.

Eric Evans'ın DDD kitabı, yazılım inşası ve müşteri işbirliğine dair çok sağlam ve ilham verici bir kitap - mimarlar için değerli beceriler, ancak geliştiriciler için de iyi.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.