Functional design: principles, patterns, and practices
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Hoboken, New Jersey
ddison-Wesley
[2024]
|
Schriftenreihe: | Robert C. Martin Series
|
Schlagworte: | |
Beschreibung: | Foreword xiii; Preface xv; Acknowledgments xxi; About the Author xxiii; Part I: Functional Basics 1; Chapter 1: Immutability 3; What Is Functional Programming? 4; The Problem with Assignment 7; So Why Is It Called Functional? 10; No Change of State? 12; Immutability 15; Chapter 2: Persistent Data 17; On Cheating 19; Making Copies 20; Structural Sharing 23; Chapter 3: Recursion and Iteration 27; Iteration 28; Recursion 32; Chapter 4: Laziness 37; Lazy Accumulation 40; OK, but Why? 41; Coda 42; Chapter 5: Statefulness 43; When We MUST Mutate 47; Software Transactional Memory (STM) 48; Life Is Hard, - Software Is Harder 51; Part II: Comparative Analysis 53; Chapter 6: Prime Factors 55; Java Version 56; Clojure Version 60; Conclusion 63; Chapter 7: Bowling Game 65; Java Version 66; Clojure Version 71; Conclusion 75; Chapter 8: Gossiping Bus Drivers 77; Java Solution 78; Clojure 88; Conclusion 93; Chapter 9: Object-Oriented Programming 95; Functional Payroll 98; Namespaces and Source Files 107; Conclusion 108; Chapter 10: Types 109; Part III: Functional Design 115; Chapter 11: Data Flow 117; Chapter 12: SOLID 125; The Single Responsibility Principle (SRP) 126; The Open-Closed Principle (OCP) 131; The Liskov Substitution Principle (LSP) 138; The Interface Segregation Principle (ISP) 147; The Dependency Inversion Principle (DIP) 152; Part IV: Functional Pragmatics 181; Chapter 13: Tests 183; But What about the REPL? 184; What about Mocks? 184; Property-Based Testing 186; A Diagnostic Technique 190; Functional 197; Chapter 14: GUI 199; Turtle-Graphics in Quil 200; Chapter - 15: Concurrency 215; Conclusion 225; Part V: Design Patterns 227; Chapter 16: Design Patterns Review 229; Patterns in Functional Programming 233; Abstract Server 233; Adapter 236; Command 242; Composite 249; Decorator 260; Visitor 264; Abstract Factory 274; Conclusion 281; Postscript: OO Poison? 282; Part VI: Case Study 285; Chapter 17: Wa-Tor 287; Scratch That Itch 309; Showers Solve Problems 312; It's Time to Wildly Reproduce 322; What about the Sharks? 324; Conclusion 335; Afterword 337; Index 341 |
Beschreibung: | xxiii, 349 Seiten Illustrationen 231 gr |
ISBN: | 9780138176396 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV049692183 | ||
003 | DE-604 | ||
005 | 20240806 | ||
007 | t | ||
008 | 240521s2024 a||| |||| 00||| eng d | ||
020 | |a 9780138176396 |9 978-0-13-817639-6 | ||
024 | 3 | |a 9780138176396 | |
035 | |a (OCoLC)1443586244 | ||
035 | |a (DE-599)BVBBV049692183 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-473 | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Martin, Robert C. |d 1952- |e Verfasser |0 (DE-588)114440964 |4 aut | |
245 | 1 | 0 | |a Functional design |b principles, patterns, and practices |c Robert C. Martin |
264 | 1 | |a Hoboken, New Jersey |b ddison-Wesley |c [2024] | |
300 | |a xxiii, 349 Seiten |b Illustrationen |c 231 gr | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Robert C. Martin Series | |
500 | |a Foreword xiii; Preface xv; Acknowledgments xxi; About the Author xxiii; Part I: Functional Basics 1; Chapter 1: Immutability 3; What Is Functional Programming? 4; The Problem with Assignment 7; So Why Is It Called Functional? 10; No Change of State? 12; Immutability 15; Chapter 2: Persistent Data 17; On Cheating 19; Making Copies 20; Structural Sharing 23; Chapter 3: Recursion and Iteration 27; Iteration 28; Recursion 32; Chapter 4: Laziness 37; Lazy Accumulation 40; OK, but Why? 41; Coda 42; Chapter 5: Statefulness 43; When We MUST Mutate 47; Software Transactional Memory (STM) 48; Life Is Hard, | ||
500 | |a - Software Is Harder 51; Part II: Comparative Analysis 53; Chapter 6: Prime Factors 55; Java Version 56; Clojure Version 60; Conclusion 63; Chapter 7: Bowling Game 65; Java Version 66; Clojure Version 71; Conclusion 75; Chapter 8: Gossiping Bus Drivers 77; Java Solution 78; Clojure 88; Conclusion 93; Chapter 9: Object-Oriented Programming 95; Functional Payroll 98; Namespaces and Source Files 107; Conclusion 108; Chapter 10: Types 109; Part III: Functional Design 115; Chapter 11: Data Flow 117; Chapter 12: SOLID 125; The Single Responsibility Principle (SRP) 126; The Open-Closed Principle (OCP) 131; The Liskov Substitution Principle (LSP) 138; The Interface Segregation Principle (ISP) 147; The Dependency Inversion Principle (DIP) 152; Part IV: Functional Pragmatics 181; Chapter 13: Tests 183; But What about the REPL? 184; What about Mocks? 184; Property-Based Testing 186; A Diagnostic Technique 190; Functional 197; Chapter 14: GUI 199; Turtle-Graphics in Quil 200; Chapter | ||
500 | |a - 15: Concurrency 215; Conclusion 225; Part V: Design Patterns 227; Chapter 16: Design Patterns Review 229; Patterns in Functional Programming 233; Abstract Server 233; Adapter 236; Command 242; Composite 249; Decorator 260; Visitor 264; Abstract Factory 274; Conclusion 281; Postscript: OO Poison? 282; Part VI: Case Study 285; Chapter 17: Wa-Tor 287; Scratch That Itch 309; Showers Solve Problems 312; It's Time to Wildly Reproduce 322; What about the Sharks? 324; Conclusion 335; Afterword 337; Index 341 | ||
650 | 4 | |a bicssc / Systems analysis & design | |
650 | 4 | |a bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design | |
650 | 4 | |a Functional programming Computer science | |
650 | 4 | |a Computer systems - Design | |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Entwurfsmuster |0 (DE-588)4546895-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |D s |
689 | 0 | 1 | |a Entwurfsmuster |0 (DE-588)4546895-3 |D s |
689 | 0 | 2 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 0 | |5 DE-604 | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-035034753 |
Datensatz im Suchindex
_version_ | 1806685166330970112 |
---|---|
adam_text | |
any_adam_object | |
author | Martin, Robert C. 1952- |
author_GND | (DE-588)114440964 |
author_facet | Martin, Robert C. 1952- |
author_role | aut |
author_sort | Martin, Robert C. 1952- |
author_variant | r c m rc rcm |
building | Verbundindex |
bvnumber | BV049692183 |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)1443586244 (DE-599)BVBBV049692183 |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV049692183</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240806</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">240521s2024 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780138176396</subfield><subfield code="9">978-0-13-817639-6</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9780138176396</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1443586244</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV049692183</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Martin, Robert C.</subfield><subfield code="d">1952-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)114440964</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Functional design</subfield><subfield code="b">principles, patterns, and practices</subfield><subfield code="c">Robert C. Martin</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Hoboken, New Jersey</subfield><subfield code="b">ddison-Wesley</subfield><subfield code="c">[2024]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxiii, 349 Seiten</subfield><subfield code="b">Illustrationen</subfield><subfield code="c">231 gr</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Robert C. Martin Series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Foreword xiii; Preface xv; Acknowledgments xxi; About the Author xxiii; Part I: Functional Basics 1; Chapter 1: Immutability 3; What Is Functional Programming? 4; The Problem with Assignment 7; So Why Is It Called Functional? 10; No Change of State? 12; Immutability 15; Chapter 2: Persistent Data 17; On Cheating 19; Making Copies 20; Structural Sharing 23; Chapter 3: Recursion and Iteration 27; Iteration 28; Recursion 32; Chapter 4: Laziness 37; Lazy Accumulation 40; OK, but Why? 41; Coda 42; Chapter 5: Statefulness 43; When We MUST Mutate 47; Software Transactional Memory (STM) 48; Life Is Hard,</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - Software Is Harder 51; Part II: Comparative Analysis 53; Chapter 6: Prime Factors 55; Java Version 56; Clojure Version 60; Conclusion 63; Chapter 7: Bowling Game 65; Java Version 66; Clojure Version 71; Conclusion 75; Chapter 8: Gossiping Bus Drivers 77; Java Solution 78; Clojure 88; Conclusion 93; Chapter 9: Object-Oriented Programming 95; Functional Payroll 98; Namespaces and Source Files 107; Conclusion 108; Chapter 10: Types 109; Part III: Functional Design 115; Chapter 11: Data Flow 117; Chapter 12: SOLID 125; The Single Responsibility Principle (SRP) 126; The Open-Closed Principle (OCP) 131; The Liskov Substitution Principle (LSP) 138; The Interface Segregation Principle (ISP) 147; The Dependency Inversion Principle (DIP) 152; Part IV: Functional Pragmatics 181; Chapter 13: Tests 183; But What about the REPL? 184; What about Mocks? 184; Property-Based Testing 186; A Diagnostic Technique 190; Functional 197; Chapter 14: GUI 199; Turtle-Graphics in Quil 200; Chapter</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - 15: Concurrency 215; Conclusion 225; Part V: Design Patterns 227; Chapter 16: Design Patterns Review 229; Patterns in Functional Programming 233; Abstract Server 233; Adapter 236; Command 242; Composite 249; Decorator 260; Visitor 264; Abstract Factory 274; Conclusion 281; Postscript: OO Poison? 282; Part VI: Case Study 285; Chapter 17: Wa-Tor 287; Scratch That Itch 309; Showers Solve Problems 312; It's Time to Wildly Reproduce 322; What about the Sharks? 324; Conclusion 335; Afterword 337; Index 341</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc / Systems analysis & design</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Functional programming Computer science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer systems - Design</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-035034753</subfield></datafield></record></collection> |
id | DE-604.BV049692183 |
illustrated | Illustrated |
indexdate | 2024-08-07T00:07:20Z |
institution | BVB |
isbn | 9780138176396 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-035034753 |
oclc_num | 1443586244 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG |
owner_facet | DE-473 DE-BY-UBG |
physical | xxiii, 349 Seiten Illustrationen 231 gr |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | ddison-Wesley |
record_format | marc |
series2 | Robert C. Martin Series |
spelling | Martin, Robert C. 1952- Verfasser (DE-588)114440964 aut Functional design principles, patterns, and practices Robert C. Martin Hoboken, New Jersey ddison-Wesley [2024] xxiii, 349 Seiten Illustrationen 231 gr txt rdacontent n rdamedia nc rdacarrier Robert C. Martin Series Foreword xiii; Preface xv; Acknowledgments xxi; About the Author xxiii; Part I: Functional Basics 1; Chapter 1: Immutability 3; What Is Functional Programming? 4; The Problem with Assignment 7; So Why Is It Called Functional? 10; No Change of State? 12; Immutability 15; Chapter 2: Persistent Data 17; On Cheating 19; Making Copies 20; Structural Sharing 23; Chapter 3: Recursion and Iteration 27; Iteration 28; Recursion 32; Chapter 4: Laziness 37; Lazy Accumulation 40; OK, but Why? 41; Coda 42; Chapter 5: Statefulness 43; When We MUST Mutate 47; Software Transactional Memory (STM) 48; Life Is Hard, - Software Is Harder 51; Part II: Comparative Analysis 53; Chapter 6: Prime Factors 55; Java Version 56; Clojure Version 60; Conclusion 63; Chapter 7: Bowling Game 65; Java Version 66; Clojure Version 71; Conclusion 75; Chapter 8: Gossiping Bus Drivers 77; Java Solution 78; Clojure 88; Conclusion 93; Chapter 9: Object-Oriented Programming 95; Functional Payroll 98; Namespaces and Source Files 107; Conclusion 108; Chapter 10: Types 109; Part III: Functional Design 115; Chapter 11: Data Flow 117; Chapter 12: SOLID 125; The Single Responsibility Principle (SRP) 126; The Open-Closed Principle (OCP) 131; The Liskov Substitution Principle (LSP) 138; The Interface Segregation Principle (ISP) 147; The Dependency Inversion Principle (DIP) 152; Part IV: Functional Pragmatics 181; Chapter 13: Tests 183; But What about the REPL? 184; What about Mocks? 184; Property-Based Testing 186; A Diagnostic Technique 190; Functional 197; Chapter 14: GUI 199; Turtle-Graphics in Quil 200; Chapter - 15: Concurrency 215; Conclusion 225; Part V: Design Patterns 227; Chapter 16: Design Patterns Review 229; Patterns in Functional Programming 233; Abstract Server 233; Adapter 236; Command 242; Composite 249; Decorator 260; Visitor 264; Abstract Factory 274; Conclusion 281; Postscript: OO Poison? 282; Part VI: Case Study 285; Chapter 17: Wa-Tor 287; Scratch That Itch 309; Showers Solve Problems 312; It's Time to Wildly Reproduce 322; What about the Sharks? 324; Conclusion 335; Afterword 337; Index 341 bicssc / Systems analysis & design bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design Functional programming Computer science Computer systems - Design Software Engineering (DE-588)4116521-4 gnd rswk-swf Entwurfsmuster (DE-588)4546895-3 gnd rswk-swf Funktionale Programmierung (DE-588)4198740-8 gnd rswk-swf Funktionale Programmierung (DE-588)4198740-8 s Entwurfsmuster (DE-588)4546895-3 s Software Engineering (DE-588)4116521-4 s DE-604 |
spellingShingle | Martin, Robert C. 1952- Functional design principles, patterns, and practices bicssc / Systems analysis & design bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design Functional programming Computer science Computer systems - Design Software Engineering (DE-588)4116521-4 gnd Entwurfsmuster (DE-588)4546895-3 gnd Funktionale Programmierung (DE-588)4198740-8 gnd |
subject_GND | (DE-588)4116521-4 (DE-588)4546895-3 (DE-588)4198740-8 |
title | Functional design principles, patterns, and practices |
title_auth | Functional design principles, patterns, and practices |
title_exact_search | Functional design principles, patterns, and practices |
title_full | Functional design principles, patterns, and practices Robert C. Martin |
title_fullStr | Functional design principles, patterns, and practices Robert C. Martin |
title_full_unstemmed | Functional design principles, patterns, and practices Robert C. Martin |
title_short | Functional design |
title_sort | functional design principles patterns and practices |
title_sub | principles, patterns, and practices |
topic | bicssc / Systems analysis & design bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design Functional programming Computer science Computer systems - Design Software Engineering (DE-588)4116521-4 gnd Entwurfsmuster (DE-588)4546895-3 gnd Funktionale Programmierung (DE-588)4198740-8 gnd |
topic_facet | bicssc / Systems analysis & design bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design Functional programming Computer science Computer systems - Design Software Engineering Entwurfsmuster Funktionale Programmierung |
work_keys_str_mv | AT martinrobertc functionaldesignprinciplespatternsandpractices |