Learning Visual F# 4.0 (Foundations) (Volume 2)
暫譯: 學習 Visual F# 4.0(基礎)(第二卷)
Chris M. Shattock
- 出版商: CreateSpace Independ
- 出版日期: 2016-09-24
- 售價: $2,260
- 貴賓價: 9.5 折 $2,147
- 語言: 英文
- 頁數: 742
- 裝訂: Paperback
- ISBN: 1537312022
- ISBN-13: 9781537312026
-
相關分類:
F#
無法訂購
商品描述
Learn F# as a general-purpose programming language in a number of business oriented scenarios whilst making use of the .NET Framework and the Community Edition of Visual Studio 2015.
The book, in two volumes with 62 hours of accompanying videos, concentrates upon learning the language using what many would call “real world” examples. The intent is that an inexperienced programmer, or one who has little exposure to application development, can gain a sound understanding of the primary concepts and usage of F# in generalised application development scenarios.
Further information and sample content/videos at http://vfsfoundations.com
We continue the theme of Volume I in the consideration of resources generally - rather than just as a vehicle for the internationalisation of software. Firstly we cover a variety of techniques used in the chaining and composition of functions and how we can use such to greatly simplify the process of exception control. We then tackle the issue of instrumenting an application by using the Windows core facilities of Event Tracing and thence Performance Monitoring. Event Tracing for Windows (ETW) is a fundamental tool in error management and the tracing of programme execution whilst also facilitating the reporting of auditing and diagnostic information. Building these features into an F# library allows one to progressively exploit F# functionality by the reconsideration of code originally crafted in an object-oriented and/or imperative manner. We also find that, with minimal effort, we can subsequently extend our tracing modules to incorporate the use of Windows Management Instrumentation (WMI) Performance Counters.
With the thereby accumulated F# expertise we then consider the subject of F# Type Providers - we demonstrate a trivial Type Provider to expose its methodology and then code three Type Providers to deal with the business of exposing configuration settings to a runtime assembly; the extraction of resources from an assembly to further address an application's needs in both accessing and using one's own WPF and/or third party libraries for presenting a rich user interface via F# and, finally, an external, Xml based alternative to using the .NET RESX methodology in providing internationalisation of resources for an application.
In the closing sections we undertake the building of a core assembly that consolidates our accumulated F# knowledge to expose a common range of functionality to referencing applications. With this core assembly we then implement a dynamic programming interface as a converse of the configuration settings Type Provider and then create such dynamic data access mechanisms whilst incorporating instrumentation through event logging and performance monitoring, as potential alternatives to the developed Type Providers for accessing an assembly's resources and providing internationalised resources for referencing applications.
We therefore progressively cover introductory overviews through to practical implementation of topics that span F# features such as the use of Agents and Mailbox processors; asynchronous and parallelisation of units of work; full and partial function composition; integration of Event Tracing for Windows and WMI Performance Counters; the building, use and extension of Xml schemas to support data integrity requirements; creating a NuGet package and an API Reference of an F# project using the Sandcastle Help File Builder; basic Type Providers and the use of typed and un-typed Quotation Expressions; Observables and Observers; using typed Quotation Expression to extended the reporting of diagnostic information whilst also permitting the runtime logging and tracing of applications and their performance monitoring without the need for runtime administrative authority.
商品描述(中文翻譯)
學習 F# 作為一種通用程式語言,並在多個商業導向的情境中使用 .NET Framework 和 Visual Studio 2015 的社群版。
本書分為兩卷,附有 62 小時的視頻,專注於使用許多人所稱的「真實世界」範例來學習這門語言。其目的是讓一位缺乏經驗的程式設計師,或對應用程式開發接觸不多的人,能夠對 F# 在一般應用程式開發情境中的主要概念和用法有一個清晰的理解。
更多資訊和範例內容/視頻請參見 http://vfsfoundations.com
我們在考慮資源時繼續第一卷的主題——不僅僅是作為軟體國際化的工具。首先,我們涵蓋了在函數鏈接和組合中使用的各種技術,以及如何利用這些技術大大簡化異常控制的過程。接著,我們處理通過使用 Windows 核心功能的事件追蹤和性能監控來對應用程式進行儀器化的問題。Windows 事件追蹤 (ETW) 是錯誤管理和程式執行追蹤的基本工具,同時也促進了審計和診斷資訊的報告。將這些功能構建到 F# 庫中,允許我們通過重新考慮最初以物件導向和/或命令式方式編寫的程式碼,逐步利用 F# 的功能。我們還發現,通過最小的努力,我們可以隨後擴展我們的追蹤模組,以納入使用 Windows 管理工具 (WMI) 性能計數器。
隨著累積的 F# 專業知識,我們接著考慮 F# 類型提供者的主題——我們展示一個簡單的類型提供者以揭示其方法論,然後編寫三個類型提供者來處理將配置設置暴露給運行時組件的業務;從組件中提取資源,以進一步滿足應用程式在訪問和使用自己的 WPF 和/或第三方庫以通過 F# 呈現豐富用戶界面的需求;最後,提供一個基於 Xml 的外部替代方案,以使用 .NET RESX 方法來提供應用程式的資源國際化。
在結尾部分,我們進行了構建一個核心組件的工作,該組件整合了我們累積的 F# 知識,以向引用應用程式暴露一系列通用功能。利用這個核心組件,我們實現了一個動態編程介面,作為配置設置類型提供者的對應,然後創建這樣的動態數據訪問機制,同時通過事件日誌和性能監控進行儀器化,作為訪問組件資源和為引用應用程式提供國際化資源的類型提供者的潛在替代方案。
因此,我們逐步涵蓋了從入門概述到實際實施的主題,這些主題涵蓋了 F# 的特性,例如使用代理和郵箱處理器;工作單元的非同步和並行化;完整和部分函數組合;整合 Windows 事件追蹤和 WMI 性能計數器;構建、使用和擴展 Xml 架構以支持數據完整性要求;創建 NuGet 套件和使用 Sandcastle 幫助文件生成器的 F# 專案的 API 參考;基本類型提供者和使用有類型和無類型的引用表達式;可觀察對象和觀察者;使用有類型的引用表達式擴展診斷資訊的報告,同時允許在不需要運行時管理權限的情況下進行應用程式的運行時日誌記錄和追蹤及其性能監控。