| 000 | 03546nam a22002655a 4500 | ||
|---|---|---|---|
| 003 | GSU | ||
| 005 | 20260618103431.0 | ||
| 008 | 180502s2018 xx |||||o|||||000 0|und|d | ||
| 020 | _z9781680502541 (paperback) | ||
| 040 |
_erda _beng _cGSU _dGSU |
||
| 050 | 0 | 0 |
_aQA76.76.D47 _bWLA |
| 100 | 1 |
_aWlaschin, Scott _eauthor |
|
| 245 | 1 | 0 |
_aDomain modeling made functional : _btackle software complexity with domain-driven design and F# / _cScott Wlaschin |
| 260 |
_aNorth Carolina : _bThe Pragmatic Bookshelf, _c©2018 |
||
| 300 |
_axiii, 290 pages : _billustrations ; _c24 cm. |
||
| 336 |
_atext _btxt _2rdacontent |
||
| 337 |
_aunmediated _bn _2rdamedia |
||
| 338 |
_avolume _bnc _2rdacarrier |
||
| 504 | _aIncludes bibliographical references and index. | ||
| 505 | _aContent notes Part 1. Understanding the domain. Introducing domain-driven design -- Understanding the domain -- A functional architecture -- Part 2. Modeling the domain. Understanding types -- Domain modeling with types -- Integrity and consistency in the domain -- Modeling workflows as pipelines -- Part 3. Implementing the model. Understanding functions -- Implementation : composing a pipeline -- Implementation : working with errors -- Serialization -- Persistence -- Evolving a design and keeping it clean | ||
| 520 | _aDomain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux. You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org. | ||
| 650 |
_aComputer software _vDevelopment |
||
| 700 | 1 |
_aMacDonald, Brian _eeditor |
|
| 942 |
_2lcc _cBK _hQA76.76.D47 _kQA _mWLA _n0 |
||
| 999 |
_c2662 _d2662 |
||