当前位置: 首页 > 更多 > 其它

编程与类型系统 PDF电子书 [31MB]

  • 其它
  • 更新时间:2021-08-28 11:06:27
简介编程与类型系统pdf百度网盘下载地址? 【关于本书】 本书旨在告诉你如何使用类型系统编写更好、更安全的代码。虽然大部分介绍类型系统的图书更加关注形式方面的讨论,但本书采用了偏向实用的做法。本书包含你在...
《编程与类型系统》pdf电子书下载
《编程与类型系统》pdf百度云

《编程与类型系统》pdf百度云

《编程与类型系统》pdf百度云


 

编程与类型系统pdf百度网盘下载地址?

【关于本书】

本书旨在告诉你如何使用类型系统编写更好、更安全的代码。虽然大部分介绍类型系统的图书更加关注形式方面的讨论,但本书采用了偏向实用的做法。本书包含你在日常工作中可能遇到的许多示例、应用和场景。

【读者对象】

本书主要针对想要学习类型系统的工作原理以及使用类型系统来提高代码质量的程序员。你应该具备一些使用面向对象编程语言(如Java、C#、C++或JavaScript/TypeScript)的经验,还应该有一些软件设计经验。虽然本书的代码示例是基于TypeScript的,但是大部分内容是普遍适用的。事实上,本书的代码示例并非总是使用TypeScript特有的功能。在编写代码示例时,我尽可能让熟悉其他编程语言的程序员也容易理解它们。虽然本书会介绍各种技术来帮助你编写健壮的、可组合的、封装程度更好的代码,但是也假定了你知道为什么我们希望获得这些特性。此外,本书侧重类型系统的实际应用,因此涉及的数学理论较少,但是你应该熟悉基本的代数概念,如函数和集合等。

【本书的组织方式】

本书包含11章,涵盖类型编程的各个方面。

第1章介绍类型和类型系统,讨论它们为什么存在以及为什么有用。我们将讨论类型系统的类型,并解释类型强度、静态类型和动态类型。

第2章介绍大部分语言中都有的基本类型,以及在使用这些类型时需要注意的地方。常用的基本类型包括空类型、单元类型、布尔类型、数值类型、字符串类型、数组类型和引用类型。

第3章介绍组合,包括把类型组合起来定义新类型的各种方式,还介绍实现访问者设计模式的不同方式,并定义代数数据类型。

第4章讨论类型安全—如何使用类型来减少歧义以及防止错误。本章还介绍如何使用类型转换在代码中添加或移除类型信息。

第5章介绍函数类型,以及当我们获得了创建函数变量的能力后能够做些什么,还展示实现策略模式和状态机的不同方式,并介绍基本的map()、filter()和reduce()算法。

第6章以前一章为基础,展示函数类型的一些高级应用,包括简化的装饰器模式、可恢复的函数和异步函数。

第7章介绍子类型,并讨论类型兼容。我们会看到顶层类型和底层类型的应用,以及从子类型的角度看,和类型、集合和函数类型之间的关系。

第8章介绍面向对象编程的关键元素,以及什么时候使用每种元素,并讨论接口、继承、组合和混入。

第9章介绍泛型编程及其第一种应用—泛型数据结构。泛型数据结构把数据的布局与数据本身分隔开。迭代器支持遍历这些数据结构。

第10章继续介绍泛型编程,讨论泛型算法及迭代器的分类。泛型算法是能够在不同数据类型上重用的算法。迭代器用作数据结构和算法之间的接口,并且能够根据迭代器的能力启用不同的算法。

第11章介绍高阶类型、函子和单子的概念,以及如何使用它们,并为进一步学习提供一些建议。

本书中的各章以前面章节中的概念作为基础,故建议读者按顺序阅读。虽然如此,但是本书介绍的4大主题相对独立:前4章介绍基础知识;第5~6章介绍函数类型;第7~8章介绍子类型;第9~11章介绍泛型编程。


作者简介:
弗拉德.里斯库迪亚(Vlad Riscutia) Microsoft的首席软件架构师,领导开发了几个大型软件项目,并指导了许多初级软件工程师。曾管理Office授权团队,包括将Office授权栈重新设计为基于服务的模型,集成Windows开箱即用体验,并发布Office 2019。

目录:
第1章 类型简介1
第2章 基本类型17
第3章 组合46
第4章 类型安全75
第5章 函数类型98
第6章 函数类型的高级应用126
第7章 子类型155
第8章 面向对象编程的元素181
第9章 泛型数据结构206
第10章 泛型算法和迭代器232
第11章 高阶类型及其他266

点击下载