Praktične odgovore na najvažnija pitanja sa kojima se suočavaju arhitekte i dizajneri softvera Kako odabrati najbolje strukture visokog nivoa za svaki od današnjih, različitih tipova aplikacija: od veba do baze podataka, od potpuno opremljenog računara u mreži (thick-client), preko konzole, do ugrađenih programa Razumevanje osnovnih principa arhitekture, dizajna softvera i onoga što zaista pokušavate postići Pisac je ugledni Robert C. Martin, autor knjiga The Clean Coder, Clean Code i Agile Software Development: Principles, Patterns, and Practices
Praktično rešenje softverske arhitekture legendarnog "ujka Boba" (Robert C. Martin)
Primenom univerzalnih pravila arhitekture softvera možete dramatično da poboljšate produktivnost programera tokom životnog ciklusa bilo kog softverskog sistema. Sada, nadovezujući se na uspeh svojih najprodavanijih knjiga Clean Code (Jasan kod, Mikro knjiga, Beograd 2020.) i The Clean Coder, legendarni softverski stručnjak Robert C. Martin ("Ujak Bob") otkriva ta pravila i pomaže vam da ih primenite.
Martinova Čista Arhitektura ne predstavlja samo opcije. Oslanjajući se na više od pola veka iskustava u softverskim okruženjima svih zamislivih tipova, Martin vam govori koje bi izbore trebalo da napravite i zašto su ti izbori presudni za vaš uspeh. Kao što se i očekuje od Ujka-Boba, ova knjiga obiluje konkretnim, jednostavnim rešenjima za stvarne izazove sa kojima ćete se suočiti - rešenjima koja će izgraditi, ili urušiti, vaše projekte.
Ciljevi
Naučiti šta bi arhitekte softvera trebalo da postignu - i osnovne discipline i neophodno iskustvo Ovladati osnovnim principima dizajna softvera i suočiti se sa funkcijama, odvajanjem komponenata i upravljanjem podacima Zapaziti kako paradigme programiranja nameću disciplinu ograničavajući ono što programeri mogu da učine Shvatiti šta je kritično važno, a šta je samo "detalj" Primeniti optimalne strukture na visokom nivou za veb, baze podataka, thick-klijente, konzolu i ugrađene aplikacije Definisati odgovaranje granice i slojeve, organizovati komponente i servise Shvatiti zašto dizajn i arhitektura greše i kako sprečiti (ili otkloniti) te nedostatke Čista arhitektura je osnovna literatura za svakog aktivnog arhitektu softvera, ili za onoga koji želii da to bude, sistemskog analitičara, dizajnera sistema ili softverskog menadžera - i za svakog programera koji izvršava nečije planove.
Sajt autora
Posetite veb adresu autora http: //cleancoders.com/.
Pregled sadržaja
Uvodna reč
Predgovor
Zahvalnice
O autoru
Deo I: Uvod
Poglavlje 1: Šta su dizajn i arhitektura?
Cilj Studija slučaja Zaključak Poglavlje 2: Priča o dve vrednosti
Ponašanje Arhitektura Najviša vrednost Eisenhower-ova matrica Borba za arhitekturu Deo II: Prvi koraci: Paradigme programiranja
Poglavlje 3: Pregled paradigmi
Strukturirano programiranje Objektno orijentisano programiranje Funkcionalno programiranje Hrana za um Zaključak Poglavlje 4: Strukturirano programiranje
Prikaz Proklamacija o štetonsti Funkcionalna dekompozicija Nema formalnih dokaza Nauka spašava Testovi Zaključak Poglavlje 5: Objektno orijentisano programiranje
Misaoni eksperiment Upravljanje smerom Skrivanje informacija Zaključak Poglavlje 9: LSP - Princip zamene Liskova (the Liskov Substitution Principle)
Uputstvo za korišćenje nasleđivanja Problem kvadrata / pravougaonika LSP i arhitektura Primer kršenja LSP-a Zaključak Poglavlje 10: ISP - Princip odvajanja interfejsa (the Interface Segregation Principle)
ISP i jezik ISP i arhitektura Zaključak Poglavlje 11: DIP - Princip inverzije zavisnosti (the Dependency Inversion Principle)
Stabilne apstrakcije Factory Konkretne komponente Zaključak Deo IV: Principi komponenti
Poglavlje 12: Komponente
Kratka istorija komponenti Premeštanje Linkeri Zaključak Poglavlje 13: Kohezija komponenti
Princip acikličnih zavisnosti Dizajn odozgo-nadole Princip stabilnih zavisnosti Princip stabilnih apstrakcija Zaključak Deo V: Arhitektura
Poglavlje 15: Šta je arhitektura?
Razvoj Raspoređivanje Operacija Održavanje Održavanje opcija otvorenim Nezavisnost od uređaja Neželjena pošta (Spam) Fizičko adresiranje Zaključak Poglavlje 16: Nezavisnost
Slučajevi upotrebe Operacija Razvoj Raspoređivanje Održavanje različitih opcija Slojevi za odvajanje Slučajevi upotrebe odvajanja Režim odvajanja Nezavisna sposobnost razvoja Nezavisna sposobnost raspoređivanja Umnožavanje Režim odvajanja (ponovo) Zaključak Poglavlje 17: Granice: crtanje granica
Par tužnih priča FitNesse Koje bi granice trebalo povući, kada? Šta je sa ulazom i izlazom? Arhitektura dodataka Argument dodatka Zaključak Poglavlje 18: Anatomija granice
Prelazak granice Strašni monolit Komponente raspoređivanja Niti Lokalni procesi Servisi Zaključak Poglavlje 19: Politika i nivo
Nivo Zaključak Poglavlje 20: Poslovna pravila
Entiteti Slučajevi upotrebe Modeli zahteva i odgovora Zaključak Poglavlje 21: Arhitektura koja vrišti
Tema arhitekture Namena arhitekture Ali, šta je sa Web-om? Okviri su alati, a ne životni putevi Testabilne arhitekture Zaključak Poglavlje 22: Čista arhitektura
Obrazac Skromni objekt Prezenteri i pogledi Testiranje i arhitektura Kapije ka bazama podataka Maperi podataka Slušaoci servisa Zaključak Poglavlje 24: Delimične granice
Preskočite poslednji korak Jednodimenzionalne granice Fasade Zaključak Poglavlje 25: Slojevi i granice
Lov na Vampusa Čista arhitektura? Podela tokova Cepanje tokova Zaključak Poglavlje 26: Glavna komponenta
Završni detalji Zaključak Poglavlje 27: Servisi - veliki i mali
Arhitektura servisa? Prednosti servisa? Kitti problem Objekti za spašavanje Servis zasnovan na komponentama Međusektorski odnosi Zaključak Objavljeno 28: Testiranje granica
Testovi kao sistemske komponente Dizajn pogodan za testiranje API za testiranje Zaključak Poglavlje 29: Čista ugrađena arhitektura
Test sposobnosti Usko grlo ciljnog hardvera Zaključak Deo VI: Detalji
Poglavlje 30: Baza podataka je detalj
Relacione baze podataka Zašto su sistemi baza podataka toliko rašireni? Da li će se diskovi održati? Detalji Ali, šta je sa performansama? Anegdota Zaključak Poglavlje 31: Veb je detalj
Beskrajno klatno Pregled Zaključak Poglavlje 32: Okviri su detalji
Autori okvira Asimetrični brak Rizici Rešenje Proglašavam vas... Zaključak Poglavlje 33: Studija slučaja: Video prodaja
Proizvod Analiza slučaja upotrebe Arhitektura komponente Upravljanje zavisnošću Zaključak Poglavlje 34: Poglavlje koje nedostaje
Paket po nivou (sloju) Paket po funkciji Portovi i adapteri Paket po komponenti Đavo je u detaljima implementacije Organizacija nasuprot enkapsulacije Ostali modeli razdvajanja Zaključak: Savet koji nedostaje Deo VII: Dodatak
Dodatak A
Arheologija arhitekture
Indeks
Detaljni podaci o knjizi
Naslov: Čista arhitektura: stručni vodič za strukturu i dizajn softvera Izdavač: Kompjuter biblioteka Strana: 432 (cb) Pismo: latinica Format: 16,8 x 23,5 cm Godina izdanja: 2020 ISBN: 978-86-7310-557-4