Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# (Paperback)
暫譯: 功能性域模型:使用領域驅動設計與 F# 解決軟體複雜性 (平裝本)
Scott Wlaschin
- 出版商: Pragmatic Bookshelf
- 出版日期: 2018-03-06
- 售價: $1,940
- 貴賓價: 9.5 折 $1,843
- 語言: 英文
- 頁數: 312
- 裝訂: Paperback
- ISBN: 1680502549
- ISBN-13: 9781680502541
-
相關分類:
F#
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$2,800$2,660 -
$950$751 -
$320$253 -
$420$332 -
$980$774 -
$2,100$1,995 -
$825The Art of Unit Testing: with examples in C#, 2/e (Paperback)
-
$1,214Functional Thinking: Paradigm Over Syntax (Paperback)
-
$950$903 -
$1,440.NET Design Patterns
-
$520$411 -
$680$578 -
$800$632 -
$880$695 -
$780$616 -
$480$379 -
$500$395 -
$580$452 -
$2,450$2,328 -
$500$390 -
$650$488 -
$680$476 -
$600$468 -
$2,200$2,090 -
$450$355
相關主題
商品描述
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-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.
商品描述(中文翻譯)
您希望提高客戶滿意度、加快開發週期並減少浪費的工作。領域驅動設計(Domain-driven design, DDD)結合函數式編程是一個創新的組合,可以幫助您達成這些目標。在這本務實且接地氣的指南中,您將看到如何應用函數式編程的核心原則,從而產生優雅且簡潔的軟體設計,這些設計能夠有效地模擬現實世界的需求——通常比物件導向的方法更具優勢。書中提供的實用範例使用開源的 F# 函數式語言,以及來自熟悉的商業領域的範例,展示了如何應用這些技術來構建以業務為中心、靈活且高品質的軟體。
領域驅動設計是一種成熟的軟體設計方法,確保領域專家和開發人員能夠有效合作,創造高品質的軟體。本書是第一本將 DDD 與靜態類型函數式編程技術結合的書籍。這本書非常適合 DDD 或函數式編程的新手——所有您需要的技術都將被介紹和解釋。
使用 F# 類型系統準確建模複雜的領域,創建可編譯的代碼,同時也是可讀的文檔——確保代碼和設計始終保持同步。在設計中編碼業務規則,以便擁有「編譯時單元測試」,並通過使非法狀態無法表示來消除許多潛在的錯誤。將一系列小型、可測試的函數組合成完整的用例,並將這些單獨的場景組合成大規模設計。發現為什麼函數式編程和 DDD 的結合自然導向服務導向和六邊形架構。最後,創建一個與傳統數據庫、NoSQL 和事件存儲一起工作的函數式領域模型,並安全地通過網站或 API 暴露您的領域。
通過專注於軟體的現實世界需求來解決實際問題。
您需要的內容:
本書中的代碼設計為可在 Windows、Mac 和 Linux 上互動運行。您需要一個最新版本的 F#(4.0 或更高版本),以及適合您平台的 .NET 運行時。所有平台的完整安裝說明請參見 fsharp.org。