Cantitate/Preț
Produs

Functional Design and Architecture

Autor Alexander Granin
en Limba Engleză Paperback – 5 noi 2024

Recomandăm Functional Design and Architecture ca pe un ghid tehnic esențial pentru tranziția de la scrierea liniilor de cod izolate la proiectarea sistemelor complexe în limbaje cu tipizare statică precum Haskell, Scala sau F#. Această lucrare, semnată de Alexander Granin, se concentrează pe aplicabilitatea practică a paradigmelor funcționale în medii de producție, depășind simpla teorie academică. Abordarea diferă de Domain Modeling Made Functional de Scott Wlaschin prin faptul că este mai puțin axată pe modelarea proceselor de business și mult mai orientată spre arhitectura tehnică brută: gestionarea complexității prin interfețe funcționale, inversarea dependențelor și utilizarea monadelor libere pentru modelarea domeniului. Subliniem structura logică a cărții, care ghidează cititorul prin cinci etape de maturizare a unui proiect. Începem cu definirea designului software declarativ, trecem prin construcția unui MVP (Minimum Viable Product) și ajungem la subiecte de inginerie avansată, cum ar fi framework-urile concurente și sistemele reactive. Un element distinctiv este capitolul dedicat persistenței, unde sunt analizate atât bazele de date key-value, cât și cele relaționale, dintr-o perspectivă pur funcțională. Credem că valoarea adăugată constă în exemplele concrete de „cod de tranșee”, incluzând un simulator de zbor spațial, care demonstrează cum conceptele abstracte gestionează starea și erorile în aplicații reale. Spre deosebire de Grokking Simplicity, care introduce fundamentele programării funcționale, volumul de față este un manual de arhitectură de nivel senior, oferind soluții pentru scalabilitate și testare automată white-box.

Citește tot Restrânge

Preț: 32627 lei

Preț vechi: 40785 lei
-20%

Puncte Express: 489

Carte disponibilă

Livrare economică 06-20 iunie
Livrare express 23-29 mai pentru 13286 lei


Specificații

ISBN-13: 9781617299612
ISBN-10: 1617299618
Pagini: 456
Dimensiuni: 185 x 231 x 27 mm
Greutate: 0.83 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte programatorilor cu experiență care doresc să stăpânească arhitectura software în limbaje funcționale. Cititorul câștigă o metodologie clară pentru a înlocui pattern-urile Object-Oriented cu alternative funcționale superioare, precum monadele și DSL-urile. Este un instrument critic pentru cei care vor să construiască sisteme robuste, ușor de testat și menținut, folosind expertiza de peste 15 ani a lui Alexander Granin.


Cuprins

table of contents detailed TOC
PART 1: INTRODUCTION TO FUNCTIONAL DECLARATIVE DESIGN
READ IN LIVEBOOK1WHAT IS SOFTWARE DESIGN?
READ IN LIVEBOOK2THE BASICS OF FUNCTIONAL DECLARATIVE DESIGN
PART 2: MINIMUM VIABLE PRODUCT
READ IN LIVEBOOK3DRAFTING THE MVP APPLICATION
READ IN LIVEBOOK4END-TO-END DESIGN
PART 3: DOMAIN-DRIVEN DESIGN
READ IN LIVEBOOK5EMBEDDED DOMAIN-SPECIFIC LANGUAGES
READ IN LIVEBOOK6DOMAIN MODELING WITH FREE MONADS
PART 4: STATEFUL AND REACTIVE APPLICATIONS
7 APPLICATION STATE
8 REACTIVE APPLICATIONS (TODO: THE SIMULATOR)
PART 5: DESIGNING REAL-WORLD SOFTWARE
9 MULTITHREADING AND CONCURRENCY
10 PERSISTENCE
11 BUSINESS LOGIC DESIGN
12 TESTING
APPENDIXES
APPENDIX A: PLENTY OF MONADS
APPENDIX B: LAYERING SUBSYSTEMS WITH A MONADIC STACK
APPENDIX C: WORD STATISTICS EXAMPLE WITH MONAD TRANSFORMERS
APPENDIX D: APPLICATION ARCHITECTURES IN HASKELL AND SCALA
APPENDIX E: THE MVAR REQUEST-RESPONSE PATTERN
APPENDIX F: FREE MONADIC EDSL FOR AN INTERACTIVE FICTION GAME
APPENDIX G: HASKELL AND PURESCRIPT

Descriere

Design patterns and architectures for building production quality applications using functional programming. Functional Design and Architecture is a pioneering guide to software engineering using Haskell and other functional languages. In it, you’ll discover Functional Declarative Design and other design principles perfect for working in Haskell, PureScript, F#, and Scala. In Functional Design and Architecture you will learn: • Designing production applications in statically typed functional languages such as Haskell • Controlling code complexity with functional interfaces • Architectures, subsystems, and services for functional languages • Developing concurrent frameworks and multithreaded applications • Domain-driven design using free monads and other functional tools • Property-based, integrational, functional, unit, and automatic whitebox testing Functional Design and Architecture lays out a comprehensive and complete approach to software design that utilizes the powerful and fascinating ideas of functional programming. Its examples are in Haskell, but its universal principles can be put into practice with any functional programming language. Inside, you’ll find cutting-edge functional design principles and practices for every stage of application development, from architecting your application through to running simple and maintainable tests. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology Functional programming affects every aspect of software development, from how you write individual lines of code to the way you organize your applications and data. In fact, many standard OO patterns are unsuitable or unnecessary for FP applications. This book will reorient your thinking to align software design with a functional programming style. The examples are in Haskell, but the ideas are universal. About the book Functional Design and Architecture teaches you how to design software following the unique principles of functional programming. You’ll explore FP-first paradigms like Functional Declarative Design by building interesting applications, including a fun spaceship control simulator and a full-fledged backend framework. This is an opinionated book and you may disagree on some points. But we guarantee it will make you think in a fresh way about how you design software. What's inside • Control code complexity with functional interfaces • Architectures, subsystems, and services for functional languages • Domain-driven design using free monads • Property-based and automatic whitebox testing • Recalibrate OO designs for functional environments About the reader For experienced developers who know a functional language. About the author Alexander Granin is a senior software engineer and architect with more than 15 years of experience. He is an international speaker, researcher, and book author. The technical editor on this book was Arnaud Bailly. Table of Contents Part 1 1 What is software design? 2 The basics of functional declarative design Part 2 3 Drafting the MVP application 4 End-to-end design Part 3 5 Embedded domain-specific languages 6 Domain modeling with free monads Part 4 7 Stateful applications 8 Reactive applications Part 5 9 Concurrent application framework 10 Foundational subsystems 11 Persistence: Key–value databases 12 Persistence: Relational databases 13 Error handling and dependency inversion 14 Business logic design 15 Testing A Plenty of monads B Stacking monads with monad transformers C Word statistics example with monad transformers D Automatic white-box testing