F# 4.0 Design Patterns
暫譯: F# 4.0 設計模式

Gene Belitski

  • 出版商: Packt Publishing
  • 出版日期: 2016-11-30
  • 售價: $2,010
  • 貴賓價: 9.5$1,910
  • 語言: 英文
  • 頁數: 318
  • 裝訂: Paperback
  • ISBN: 1785884727
  • ISBN-13: 9781785884726
  • 相關分類: F#Design Pattern
  • 海外代購書籍(需單獨結帳)

商品描述

Key Features

  • This book provides a path if you are coming from imperative and object-oriented paradigms
  • It will take you to an intermediate level of functional programming in very practical manner to write enterprise-quality idiomatic F# code
  • Tackle complex computing problems with simple code by fully embracing the functional-first F# paradigm
  • Packed full of practical coding examples to help you master F# programming and author optimal code

Book Description

Following design patterns is a well-known approach to writing better programs that captures and reuses high-level abstractions that are common in many applications. This book will encourage you to develop an idiomatic F# coding skillset by fully embracing the functional-first F# paradigm. It will also help you harness this powerful instrument to write succinct, bug-free, and cross-platform code.

F# 4.0 Design Patterns will start off by helping you develop a functional way of thinking. We will show you how beneficial the functional-first paradigm is and how to use it to get the optimum results. The book will help you acquire the practical knowledge of the main functional design patterns, the relationship of which with the traditional Gang of Four set is not straightforward.

We will take you through pattern matching, immutable data types, and sequences in F#. We will also uncover advanced functional patterns, look at polymorphic functions, typical data crunching techniques, adjusting code through augmentation, and generalization. Lastly, we will take a look at the advanced techniques to equip you with everything you need to write flawless code.

What you will learn

  • Acquire the practical knowledge to use the main functional design patterns
  • Realign some imperative and object-oriented principles under the functional approach
  • Develop your confidence in building and combining first-order and higher-order functions
  • Learn to use core language pattern matching effectively
  • Make use of native F# algebraic data types in place of custom-built classes
  • Recognize and measure the difference in resource consumption between sequences and materialized data collections
  • Navigate and use F# Core libraries with ease by seeing patterns behind specific library functions
  • Master writing generic polymorphic code

About the Author

Gene Belitski is an accomplished professional software developer with a passion for functional programming. He is a proud representative of the fourth consecutive generation in a family of engineers.

In his professional career Gene was a member of the core development team at Multex.com, a start-up known for bringing Internet and PDF technologies to capital markets.

The author also spent a decade with Reuters, owning the application development for the collection and production of Reuters Consensus and Detail Estimates financial data consumed by quantitative hedge funds.

Currently with Jet.com Inc., Gene is enjoying hands-on development as a lead of the team building a line of business F# applications for their finance division.

He lives with his family on a rare tranquil backstreet of New York City between a park and a beach. In his spare time, Gene plays with code or reads books with his two feline sidekicks – the Turkish Angora siblings Cheri and Musya.

You can find Gene online on LinkedIn (https://www.linkedin.com/in/genebelitski) and StackOverflow (http://stackoverflow.com/users/917053/gene-belitski).

Gene occasionally blogs at https://infsharpmajor.wordpress.com and https://tech.jet.com. He is one of the founding members of F# Foundation (http://fsharp.org/)

Table of Contents

  1. Begin Thinking Functionally
  2. Dissecting F# Origins and Design
  3. Basic Functions
  4. Basic Pattern Matching
  5. Algebraic Data Types
  6. Sequences - The Core of Data Processing Patterns
  7. Advanced Techniques: Functions Revisited
  8. Data Crunching – Data Transformation Patterns
  9. More Data Crunching
  10. Type Augmentation and Generic Computations
  11. F# Expert Techniques
  12. F# and OOP Principles/Design Patterns
  13. Troubleshooting Functional Code

商品描述(中文翻譯)

關鍵特點
- 本書為來自命令式和物件導向範式的讀者提供了一條學習之路
- 以非常實用的方式將您帶到中級的函數式程式設計水平,編寫企業級的慣用 F# 代碼
- 通過充分擁抱函數優先的 F# 範式,以簡單的代碼解決複雜的計算問題
- 充滿實用的編碼範例,幫助您掌握 F# 程式設計並撰寫最佳代碼

書籍描述
遵循設計模式是一種眾所周知的寫出更好程式的方法,能夠捕捉並重用許多應用程式中常見的高階抽象。本書將鼓勵您通過充分擁抱函數優先的 F# 範式來發展慣用的 F# 編碼技能。它還將幫助您利用這個強大的工具來編寫簡潔、無錯誤且跨平台的代碼。

F# 4.0 設計模式將首先幫助您發展一種函數式的思維方式。我們將向您展示函數優先範式的好處,以及如何使用它來獲得最佳結果。本書將幫助您獲得主要函數設計模式的實用知識,這些模式與傳統的四人幫(Gang of Four)設計模式之間的關係並不簡單。

我們將帶您了解模式匹配、不可變數據類型和 F# 中的序列。我們還將揭示高級函數模式,探討多型函數、典型的數據處理技術、通過增強調整代碼以及泛化。最後,我們將查看高級技術,讓您具備編寫無瑕疵代碼所需的一切。

您將學到的內容
- 獲得使用主要函數設計模式的實用知識
- 在函數式方法下重新調整一些命令式和物件導向原則
- 增強您在構建和組合一級和高階函數方面的信心
- 學會有效使用核心語言的模式匹配
- 使用原生 F# 代數數據類型來取代自定義類別
- 辨識並衡量序列與具體化數據集合之間的資源消耗差異
- 輕鬆導航並使用 F# 核心庫,了解特定庫函數背後的模式
- 精通編寫通用的多型代碼

關於作者
**Gene Belitski** 是一位出色的專業軟體開發人員,對函數式程式設計充滿熱情。他是家族中第四代工程師的驕傲代表。

在他的職業生涯中,Gene 是 Multex.com 核心開發團隊的成員,該初創公司以將互聯網和 PDF 技術引入資本市場而聞名。

作者還在路透社(Reuters)工作了十年,負責收集和生成量化對沖基金所需的路透共識和詳細預測財務數據的應用開發。

目前在 Jet.com Inc. 工作的 Gene,作為團隊的負責人,享受著為其金融部門構建一系列 F# 應用的實際開發工作。

他與家人住在紐約市一條罕見的寧靜小巷中,介於一個公園和一個海灘之間。在空閒時間,Gene 與他的兩隻貓咪夥伴——土耳其安哥拉兄妹 Cheri 和 Musya 一起玩弄代碼或閱讀書籍。

您可以在 LinkedIn(https://www.linkedin.com/in/genebelitski)和 StackOverflow(http://stackoverflow.com/users/917053/gene-belitski)上找到 Gene。

Gene 偶爾會在 https://infsharpmajor.wordpress.com 和 https://tech.jet.com 上寫博客。他是 F# 基金會(http://fsharp.org/)的創始成員之一。

目錄
1. 開始以函數式思考
2. 剖析 F# 的起源和設計
3. 基本函數
4. 基本模式匹配
5. 代數數據類型
6. 序列 - 數據處理模式的核心
7. 高級技術:重新探討函數
8. 數據處理 - 數據轉換模式
9. 更多數據處理
10. 類型增強和通用計算
11. F# 專家技術
12. F# 與物件導向原則/設計模式
13. 故障排除函數式代碼