Data-Oriented Programming: Reduce Complexity by Rethinking Data (Paperback)
暫譯: 資料導向程式設計:透過重新思考資料來降低複雜性 (平裝本)
Sharvit, Yehonathan
買這商品的人也買了...
-
$1,350$1,283 -
$580$458 -
$580$458 -
$680$537 -
$1,700$1,700 -
$2,040$1,938 -
$580$458 -
$4,620$4,389 -
$1,980$1,881 -
$1,280$1,088 -
$600$474 -
$1,650$1,568 -
$2,124Database Internals: A Deep Dive Into How Distributed Data Systems Work (Paperback)
-
$560$442 -
$1,998$1,898 -
$1,980$1,881 -
$2,128$2,016 -
$1,840Multithreaded JavaScript: Concurrency Beyond the Event Loop
-
$1,500$1,275 -
$600$510 -
$630$536 -
$2,464Managing Cloud Native Data on Kubernetes: Architecting Cloud Native Data Services Using Open Source Technology (Paperback)
-
$750$375 -
$1,892Learning Systems Thinking: Essential Nonlinear Skills and Practices for Software Professionals (Paperback)
-
$1,880$1,786
相關主題
商品描述
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#.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
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.
商品描述(中文翻譯)
消除物件導向設計中不可避免的複雜性。創新的資料導向程式設計範式透過簡化資料的存取與操作,使您的系統變得不那麼複雜。
在《資料導向程式設計》中,您將學習如何:
• 將程式碼與資料分開
• 使用通用資料結構表示資料
• 使用通用函數操作資料
• 在不變更資料的情況下管理狀態
• 在高度可擴展的系統中控制併發性
• 撰寫資料導向的單元測試
• 指定資料的形狀
• 在不使用物件的情況下受益於多型性
• 在沒有除錯器的情況下除錯程式
《資料導向程式設計》是一本獨特的指南,介紹資料導向範式。這種開創性的方法使用通用的不可變資料結構來表示資料。它簡化了狀態管理,減輕了併發性問題,並消除了您在物件導向程式碼中常見的問題。這本書透過對話、程式碼片段和圖示呈現強大的新想法,幫助您快速理解資料導向程式設計的優點。最棒的是,這個範式與語言無關——您將學會撰寫可以在 JavaScript、Ruby、Python、Clojure 以及傳統的物件導向語言如 Java 或 C# 中實現的資料導向程式碼。
購買印刷版書籍可獲得 Manning Publications 提供的免費 PDF、Kindle 和 ePub 格式電子書。
關於技術
將行為與資料結合的程式碼,如同物件導向設計中常見的情況,可能會為狀態管理引入幾乎無法管理的複雜性。資料導向程式設計(DOP)範式透過將應用程式資料保存在不可變的通用資料結構中,並使用不變更的通用函數進行計算,簡化了狀態管理。您的應用程式不會有與狀態相關的錯誤,您的程式碼也更容易理解和維護。
關於這本書
《資料導向程式設計》教您使用開創性的資料導向範式設計軟體。您將實際運用 DOP 設計商業實體的資料模型,並實現一個管理狀態而不變更資料的圖書管理系統。大量的圖示、直觀的思維導圖以及獨特的對話式方法都幫助您理解這些令人興奮的新想法。每一章都有一個靈光一閃的時刻,將改變您對程式設計的思考方式。
內容概覽
• 將程式碼與資料分開
• 使用通用資料結構表示資料
• 在不變更資料的情況下管理狀態
• 在高度可擴展的系統中控制併發性
• 撰寫資料導向的單元測試
• 指定資料的形狀
關於讀者
適合有使用 JavaScript、Java、Python、C#、Clojure 或 Ruby 等高階程式語言經驗的程式設計師。
關於作者
Yehonathan Sharvit 擁有超過二十年的軟體工程經驗。他撰寫部落格、在會議上演講,並在全球各地主辦資料導向程式設計的工作坊。
作者簡介
Yehonathan Sharvit
Yehonathan Sharvit has been working as a software engineer since 2000, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript.
As a functional programming expert, Yehonathan is a regular speaker at Tech events and lead tech workshops around the world. Yehonathan is the maintainer of Klipse - a popular github open source project. He blogs about programming languages at http://blog.klipse.tech.
He has strong academic background: M.Sc. in Mathematics and B.Sc. in Electrical Engineering from Technion institute in Israel.
作者簡介(中文翻譯)
耶霍納坦·沙維特
耶霍納坦·沙維特自2000年以來一直擔任軟體工程師,使用C++、Java、Ruby、JavaScript、Clojure和ClojureScript進行程式設計。
作為一位函數式程式設計專家,耶霍納坦經常在技術活動中演講,並在全球各地主導技術工作坊。耶霍納坦是Klipse的維護者,這是一個受歡迎的GitHub開源專案。他在http://blog.klipse.tech上撰寫有關程式語言的部落格。
他擁有堅實的學術背景:以色列理工學院的數學碩士(M.Sc.)和電機工程學士(B.Sc.)。
目錄大綱
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
目錄大綱(中文翻譯)
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