Veze, linkovi
Kompjuter biblioteka
Korpa
Funkcionalan dizajn, principi, obrasci i praksa

Preuzmite poglavlje   Preuzmite poglavlje

Serija Roberta C. Martina Serija Roberta C. Martina

Funkcionalan dizajn, principi, obrasci i praksa

Autor: Robert C. Martin
Broj strana: 384
ISBN broj: 9788673105963
Izdavač: Kompjuter biblioteka Kompjuter biblioteka
Godina izdanja: 2024.
Kataloški broj: 573.

                 
Twitter   Facebook   Linkedin   Pinterest   Email
                 
         
   
Naruči ili rezerviši sa 40 % popusta
 
         
         
Cena: 2530 rsd Vi plaćate: 2000 rsd

10% dodatnog popusta za 2 ili više knjiga, osim knjiga koje su u pretplati i kompleta knjiga.

• Isporuka za 24 časa (osim za knjige u pretplati)
• Plaćanje kuriru

 

U knjizi "Funkcionalni 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

 

 

 

 

Komentari

• Mladen Miljuš
Samo da ostavim komentar na samu dostavu i proces - odličan, sve preporuke, samo tako nastavite, pohvale od novog kupca. Knjiga će mi trebati vremena da pročitam, ja to polako, ali na prvi pogled (i miris) sve je super.

• Miljan Puzovic
Obavezno prevedite!

• Milan
Uzimam, slobodno prevedite. Takođe, bilo šta od Martin Flovera, možda Enterprise integration patterns, ili neki AWS cloud kompletan priručnik

Ostavite komentar Ostavite komentar

 

Preporučujemo

Funkcionalan dizajn, principi, obrasci i praksa

Funkcionalan dizajn, principi, obrasci i praksa

Popust cena:
2000.00 rsd

Čisto agilno - razvoj softvera, agilne vrednosti i principi Robert C. Martin

Čisto agilno - razvoj softvera, agilne vrednosti i principi Robert C. Martin

Popust cena:
1760.00 rsd

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272