F# 4.0 Design Patterns

Gene Belitski

  • 出版商: Packt Publishing
  • 出版日期: 2016-11-30
  • 售價: $1,940
  • 貴賓價: 9.5$1,843
  • 語言: 英文
  • 頁數: 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 設計模式》將從幫助你發展函數式思維方式開始。我們將向你展示以函數為先範式的好處以及如何使用它獲得最佳結果。本書將幫助你獲得主要函數式設計模式的實用知識,它們與傳統的四人幫設計模式集之間的關係並不直接。


我們將帶你深入了解 F# 中的模式匹配、不可變數據類型和序列。我們還將揭示高級函數式模式,探討多態函數、典型的數據處理技術、通過擴展和泛化調整代碼。最後,我們將介紹高級技巧,讓你擁有撰寫無瑕疵代碼所需的一切。

你將學到什麼



  • 獲得使用主要函數式設計模式的實用知識

  • 在函數式方法下重新調整一些命令式和面向對象的原則

  • 提高構建和組合一階和高階函數的信心

  • 學會有效使用核心語言模式匹配

  • 使用原生 F# 代數數據類型代替自定義類

  • 識別和測量序列和實體數據集之間的資源消耗差異

  • 通過了解特定庫函數背後的模式,輕鬆使用 F# 核心庫

  • 精通編寫通用多態代碼

關於作者


Gene Belitski 是一位熱愛函數式編程的專業軟件開發人員。他是一個工程師家族的第四代自豪代表。


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


作者還在路透社工作了十年,負責收集和生產量化對沖基金所使用的路透共識和詳細估計金融數據的應用開發。


目前在 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# Foundation(http://fsharp.org/)的創始成員之一。

目錄



  1. 開始思考函數式

  2. 解剖 F# 的起源和設計

  3. 基本函數

  4. 基本模式匹配

  5. 代數數據類型

  6. 序列 -