Cantitate/Preț
Produs

Data-Oriented Programming

Autor Yehonathan Sharvit
en Limba Engleză Paperback – 16 aug 2022

Ceea ce diferențiază Data-Oriented Programming de documentația tehnică standard sau de manualele clasice de arhitectură este pragmatismul cu care Yehonathan Sharvit demontează dogma încapsulării. În timp ce resursele oficiale pentru diverse limbaje tratează adesea datele și comportamentul ca un tot unitar, această lucrare propune o ruptură radicală: separarea logică a entităților de business de funcțiile care le procesează. Considerăm că valoarea adăugată rezidă în prezentarea unui model mental nou, unde datele sunt tratate ca fapte imuabile, stocate în structuri generice (precum hărți sau vectori), eliminând astfel complexitatea ierarhiilor de clase rigide. Pe parcursul celor 424 de pagini, cititorul este ghidat în construcția unui sistem de management pentru o bibliotecă, un exercițiu care transformă conceptele abstracte în decizii de design concrete. Apreciem modul în care autorul abordează manipularea colecțiilor fără a muta starea originală, o tehnică esențială pentru sistemele concurente moderne. Cititorul care a aplicat ideile din Grokking Functional Programming de Michal Plachta va găsi aici elementele care completează tranziția de la obiecte la o viziune centrată strict pe fluxul de date, fără a fi nevoie de rigoarea matematică a calculului lambda. Dacă în Data Structures Featuring C++ a Programmer's Perspective accentul cade pe implementarea internă a structurilor în stil orientat-obiect, lucrarea de față mută perspectiva spre modul în care aceste structuri pot rămâne transparente și decuplate de logica de business. Rezultatul este un cod mai ușor de testat, unde funcțiile pure și datele persistente reduc drastic incidența erorilor de sincronizare.

Citește tot Restrânge

Preț: 33675 lei

Preț vechi: 42093 lei
-20%

Puncte Express: 505

Carte disponibilă

Livrare economică 26 septembrie-10 octombrie
Livrare express 15-19 septembrie pentru 12908 lei

Livrare prin curier în România Termenul estimat este afișat lângă disponibilitate.
Transport gratuit de la 40000 lei Plată online sau ramburs, în funcție de opțiunile comenzii.
Retur gratuit în 14 zile Comandă securizată și suport în română.

Specificații

ISBN-13: 9781617298578
ISBN-10: 1617298573
Pagini: 325
Dimensiuni: 187 x 234 x 25 mm
Greutate: 0.77 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte programatorilor care s-au lovit de limitările arhitecturilor orientate-obiect în sisteme complexe. Veți câștiga o metodologie clară pentru a reduce complexitatea codului prin separarea datelor de logică. Este un ghid esențial pentru cei care doresc să scrie sisteme mai robuste, ușor de întreținut și optimizate pentru medii de execuție moderne, unde imuabilitatea și simplitatea datelor sunt prioritare.


Despre autor

Yehonathan Sharvit este un inginer software cu peste un deceniu de experiență, recunoscut pentru expertiza sa în programarea funcțională și arhitectura sistemelor. Autorul s-a specializat în simplificarea sistemelor software complexe prin aplicarea principiilor de programare orientată pe date (DOP), fiind un promotor activ al acestui curent în comunitățile de dezvoltatori. Experiența sa practică este reflectată în abordarea pedagogică din această lucrare publicată de Manning Publications, unde transformă decenii de practică în strategii de design aplicabile imediat.


Notă biografică

Yehonathan Sharvit has over twenty years experience as a software engineer, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript. He currently works as a software architect at Cycognito building software infrastructures for high scale data pipelines. He writes about software engineering at his blog, speaks at conferences, and leads Clojure workshops around the world.


Descriere

Data-Oriented Programming teaches you to design and implement software using the data-oriented programming paradigm. In it, you’ll learn author Yehonathan Sharvit’s unique approach to DOP that he has developed over a decade of experience.
Every chapter contains a new light bulb moment that will change the way you think about programming. As you read, you’ll build a library management system using the DOP paradigm. You’ll design data models for business entities, manipulate immutable data collections, and write unit tests for data-oriented systems.

About the Technology
Data-oriented programming is an exciting new paradigm that eliminates the usual complexity caused by combining data and code into objects and classes. In DOP, you maintain application data in persistent generic data structures separated from the program’s code. You use general-purpose functions to manipulate the data without mutating it. This approach rids your applications of state-related bugs and makes your code much easier to understand and maintain.


Descriere scurtă

Eliminate the unavoidable complexity of object-oriented designs. The innovative data-oriented programming paradigm makes your systems less complex by making it simpler to access and manipulate data.

In Data-Oriented Programming you will learn how to:

Separate code from data
Represent data with generic data structures
Manipulate data with general-purpose functions
Manage state without mutating data
Control concurrency in highly scalable systems
Write data-oriented unit tests
Specify the shape of your data
Benefit from polymorphism without objects
Debug programs without a debugger

Data-Oriented Programming is a one-of-a-kind guide that introduces the data-oriented paradigm. This groundbreaking approach represents data with generic immutable data structures. It simplifies state management, eases concurrency, and does away with the common problems you’ll find in object-oriented code. The book presents powerful new ideas through conversations, code snippets, and diagrams that help you quickly grok what’s great about DOP. Best of all, the paradigm is language-agnostic—you’ll learn to write DOP code that can be implemented in JavaScript, Ruby, Python, Clojure, and also in traditional OO languages like Java or C#.

Forewords by Michael T. Nygard and Ryan Singer.

About the technology
Code that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The Data-oriented programming (DOP) paradigm simplifies state management by holding application data in immutable generic data structures and then performing calculations using non-mutating general-purpose functions. Your applications are free of state-related bugs and your code is easier to understand and maintain.

About the book
Data-Oriented Programming teaches you to design software using the groundbreaking data-oriented paradigm. You’ll put DOP into action to design data models for business entities and implement a library management system that manages state without data mutation. The numerous diagrams, intuitive mind maps, and a unique conversational approach all help you get your head around these exciting new ideas. Every chapter has a lightbulb moment that will change the way you think about programming.

What's inside

Separate code from data
Represent data with generic data structures
Manage state without mutating data
Control concurrency in highly scalable systems
Write data-oriented unit tests
Specify the shape of your data

About the reader
For programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby.

About the author
Yehonathan Sharvit has over twenty years of experience as a software engineer. He blogs, speaks at conferences, and leads Data-Oriented Programming workshops around the world.

Table of Contents
PART 1 FLEXIBILITY
1 Complexity of object-oriented programming
2 Separation between code and data
3 Basic data manipulation
4 State management
5 Basic concurrency control
6 Unit tests
PART 2 SCALABILITY
7 Basic data validation
8 Advanced concurrency control
9 Persistent data structures
10 Database operations
11 Web services
PART 3 MAINTAINABILITY
12 Advanced data validation
13 Polymorphism
14 Advanced data manipulation
15 Debugging