0、什么是RPCRPC(Remote Procedure Call - 远程过程调用),是通过网络从远程计算机上请求服务,而不需要了解底层网路技术的细节。简单点说,就是像调用本地服务(方法)一样调用远端的服务(方法)。RPC与REST的区别RPC是一种协议,REST是一种架构风格。RPC以行为为中心...
分类:
其他好文 时间:
2015-12-10 17:07:01
阅读次数:
237
读《软件工程》最后一章有感一般有过面向对象编程的人,认为最难也最头疼的就是设计了。一个好的项目,设计至少可以占到百分之五十甚至更多。林锐的文章当中,自始至终在灌输两个思想,一个是高内聚低耦合,一个是设计应当以行为为中心而非数据为...
分类:
其他好文 时间:
2015-06-21 13:06:46
阅读次数:
161
9.2 改进以行为为中心的应用程序
在前面几章,我们已经展示了函数编程的几个基本概念,可以组合起来,获得所需的结果。在讨论构造数据类型的方法时,我们已经看到了这的示例,有元组、函数、差别联合和记录类型。
创建以行为为中心的应用程序,我们使用函数类型表示行为,它可以与其他类型组合。例如,使用记录类型可以在一个值中保存两个相关的函数。...
分类:
其他好文 时间:
2014-12-10 16:29:54
阅读次数:
173
8.5 第八章小结
在这一章,我们完成了核心的函数概念的探索。在讨论了基本原理,比如函数式值和高阶函数之后,我们以更宏观的观点,讨论了函数式应用程序的体系结构。我们把应用程序(或组件)划分成两组:以数据为中心和以行为为中心。
在这一章,我们讨论了以行为为中心的程序。看到了如何开发应用程序,行为不需要硬编码,在以后可以轻松地添加新的行为,既可以在开在发过程中,也可以在运行时,只需通过使用函...
分类:
其他好文 时间:
2014-12-06 16:53:27
阅读次数:
168
8.1.3 在 C# 中使用函数集合
考虑对客户进行贷款时,我们想要执行所有测试,并统计返回 true 的测试数(指高风险)。如果数为零个或一,程序就建议贷款。通常常的命令式解决方案是,声明一个变量,使用 foreach 语句枚举测试;在循环体内,执行测试,如果返回 true,变量就增加;使用 LINQ的扩展方法 Count,实现可以更优雅(清单 8.3)。
清单 8.3 执行测试...
8.1.2 在 C# 中把行为表示成函数
我们前面提到过,以面向对象的方式理解函数,就是把它认为是有一个单独方法的接口;从清单 8.1 的代码中,我们可以看到IClientTest 就是这样声明的。这样,测试可以很容易地表示成简单的函数;在 C# 中,我们可以使用lambda 函数来写测试:
Func isRiskyYearsInJob=
client => client....
第八章 以行为为中心的程序设计 本章介绍■ 用函数表示行为■ 扩展程序行为■ 处理函数和闭包■ 用决策树测试客户端在第七章,我们讨论了以数据中心的应用程序,知道了,设计函数式程序的第一步是定义相关的数据结构。还有一种情况,数据结构中包含了某种形式的行为,既可能是用户调用的命令,也可能是程序在某一点执行的任务。对这种情况,我们想统一处理,而不是为每一种行为的功能进行硬编码,因此,在数据结构的设计上,...
分类:
其他好文 时间:
2014-11-28 18:20:54
阅读次数:
200