Funkcionalan dizajn
od 1984. god.
Knjige:Računari i InternetProgramiranje

Funkcionalan dizajn

Autor: Robert C. Martin
Izdavač: Kompjuter biblioteka
Strana: 384
Slova:
Funkcionalan dizajn - principi, obrasci i praksa

U knjizi "Funkcionalan dizajn", poznati softverski inženjer Robert C. Martin (poznat kao "Ujka Bob") objašnjava primenu funkcionalnog programiranja za izgradnju boljih sistema za krajnje korisnike. Martin poredi konvencionalne objektno-orijentisane strukture koda u Javi sa onima koje omogućava funkcionalno programiranje, identifikuje optimalne uloge za svaki pristup i demonstrira kako unaprediti sistem pažljivim korišćenjem oba pristupa u odgovarajućim kontekstima.

Martinov pristup je pragmatičan, s naglaskom na rešavanju stvarnih problema umesto teorijskog razmatranja. Kroz pristupačne primere, programeri će razumeti kako im jednostavan, semantički bogat jezik Clojure, može pomoći da unaprede čistoću koda, dizajn, disciplinu i rezultate. Martin istražuje poznate SOLID principe i Dizajnerske obrasce Četvoročlane Grupe iz funkcionalne perspektive, te otkriva zašto obrasci i dalje imaju veliku vrednost za funkcionalne programere i kako ih koristiti radi postizanja izuzetnih rezultata.

Razumevanje osnova funkcionalnog programiranja uključuje koncepte kao što su nemutabilnost (immutability), perzistentni podaci, rekurzija, iteracija, lenjost (laziness) i stanje (statefulness)
Kontrast funkcionalnog i objektnog pristupa programiranju kroz stručno osmišljene studije slučaja
Istraživanje funkcionalnih dizajnerskih tehnika za tok podataka
Korišćenje klasičnih SOLID principa za pisanje boljeg Clojure koda
Usavršavanje pragmatičnih pristupa funkcionalnom testiranju, korisničkim interfejsima i konkurentnosti
Upotreba dizajnerskih obrazaca u funkcionalnim okruženjima
Vodjenje kroz izgradnju enterprise-level Clojure aplikacije
“Funkcionalni dizajn" je kalsik, od samog početka. Bob ističe kako elementi funkcionalnog programiranja čine dizajn softvera jednostavnim, ali i pragmatičnim. On to čini na način koji je prihvatljiv i koristan za programere koji već imaju iskustvo sa C#, C++, ili Javom.” Janet A. Carr, Independent Clojure Consultant

Sadržaj

Predgovor xiii

Uvod xv

Zahvalnosti xxi

O autoru xxiii

DEO I: Osnove funkcionalnog programiranja 1

Poglavlje 1: Nepromenljivost 3

Šta je funkcionalno programiranje? 4
Problem sa dodeljivanjem 7
Pa zašto ga nazivamo funkcionalno? 10
Bez promene stanja? 12
Nepromenljivost 15
Poglavlje 2: Trajnost podataka 17

O varanju 19
Pravljenje kopija 20
Strukturno deljenje 23
Poglavlje 3: Rekurzija i iteracija 27

Iteracija 28
Veoma kratak vodič za Clojure 29
Iteracija 32
TCO, Clojure i JVM 32
Rekurzija 32
Poglavlje 4: Lenjost 37

Lenjo akumuliranje 40
U redu, ali zašto? 41
Završetak 42
Poglavlje 5: Čuvanje stanja 43

Kada moramo da izvršimo promenu 47
Softverska transakcijska memorija (STM) 48
Život je težak, softver je još teži
Deo II: Komparativna analiza 53

Poglavlje 6: Prosti činioci 55

Verzija za Javu 56
Verzija za Clojure 60
Zaključak 63
Poglavlje 7: Igra kuglanja 65

Verzija za Javu 66
Verzija za Clojure 71
Zaključak 75
Poglavlje 8: Ogovaranje među vozačima autobusa 77

Java rešenje 78
Klasa Driver 84
Klasa Route 85
Klasa Stop 85
Klasa Rumor 86
Klasa Simulation 87
Clojure 88
Zaključak 93
Poglavlje 9: Objektno-orijentisano programiranje 95

Funkcionalan platni spisak 98
Prostori imena i izvorne datoteke 107
Zaključak
Poglavlje 10: Tipovi 109

Deo III: Funkcionalni dizajn 115

Poglavlje 11: Protok podataka 117

Poglavlje 12: SOLID 125

Princip jedinstvene odgovornosti (SRP) 126
Princip otvorenosti i zatvorenosti (OCP) 131
Funkcije 133
Objekti sa virtuelnim tabelama 134
Multimetodi 135
Nezavisna implementacija 136
Liskovin princip zamene (LSP) 138
ISA pravilo 142
Nipošto! 145
Pravilo reprezentacije 146
Princip razdvajanja interfejsa (ISP) 147
Nemojte da zavisite od stvari koje vam nisu potrebne 150
Zašto? 151
Zaključak 151
Princip inverzije zavisnosti (DIP) 152
Povratak u prošlost 155
Kršenje DIP principa 165
Zaključak
Deo IV: Funkcionalni pragmatizam 181

Poglavlje 13: Testovi 183

A REPL? Šta ćemo sa tim? 184
Šta je sa lažnim objektima? 184
Testiranje zasnovano na svojstvima 186
Tehnika dijagnostike 190
Funkcionalno 197
Poglavlje 14: Grafički korisnički interfejs 199

Crtanje uz pomoć kornjače za biblioteku Quil
Poglavlje 15: Konkurentnost 215

Zaključak 225
Deo V: Projektni obrasci 227

Poglavlje 16: Pregled projektnih obrazaca 229

Obrasci u funkcionalnom programiranju 233
Obrazac Apstraktan poslužitelj 233
Obrazac Adapter 236
Da li je to zaista objekat adapter? 241
Obrazac Komanda 242
Poništi 245
Obrazac Sastav 249
Funkcionalno? 254
Obrazac Dekorater 260
Obrazac Posetilac 264
Zatvoriti ili Clojure? 267
Problem 90 stepeni 270
Obrazac Apstraktna fabrika 274
Ponovo 90 stepeni 279
Sigurnost tipova? 281
Zaključak 281
Dodatak: OO otrov? 282

Deo VI: Studija slučaja 285

Poglavlje 17: Wa-Tor 287

Počeši se 309
Tuš je rešenje problema 312
Faza intenzivne reprodukcije 322
Šta ćemo sa ajkulama? 324
Zaključak 335
Pogovor 337

Indeks 339
Detaljni podaci o knjizi
Naslov: Funkcionalan dizajn
Izdavač: Kompjuter biblioteka
Strana: 384 (cb)
Pismo: latinica
Format: cm
Godina izdanja: 2024
ISBN: 978-86-7310-596-3
Ocene čitalacaPrijavite se za ocenu
Za sada nema ocena za ovo izdanje. Budite prvi koji će podeliti utiske!
Pitanja, odgovori, mišljenja
Imate pitanje? Prijavite se i učestvujte u diskusiji sa urednicima i čitaocima.
Još uvek nema postavljenih pitanja za ovo izdanje.
Cena: 3.220 RSD
2.898 RSD
Cena za inostranstvo:
29,00 EUR
Naručite telefonom:
Nije radno vreme
Pošaljite poruku
Dodaj u listu želja
Ukupno
0 RSD
Korpa
Često se kupuje uz ovu knjigu