8.3 使用组合行为

728 篇文章 1 订阅
349 篇文章 0 订阅

8.3 使用组合行为

 

在这一章,我们所讨论处理行为的应用程序或组件,能够在开发的后期,甚至在运行时添加新的行为;关键的设计思想是要保证添加新的行为要尽可能容易。在我们实现新的功能之后,应该可以注册这个函数(例如,通过将其添加到列表),并在应用程序使用,而不需要修改任何代码。

为使问题简化,最好是使需要实现的函数数量最小化。通常情况下,一个函数足以表示功能,但在某些情况下,可能需要包含额外的信息,或提供更多的函数,就不够了。当然,在函数式程序中,其他的函数是唯一的“额外的信息”,我们可以运行信息以提供更丰富的反馈。

第一种情况的一个例子可能是图形编辑器中的滤镜。滤镜本身是处理图片的函数,但我们也可以提供滤镜的名字(作为一个字符串)。编辑器的用户无论何时调用我们的函数,更愿意看到“友好”的名字和描述,而不是所有的内在命名约束。

在下一节,我们将看到第二种情况,即,需要更多的函数。我们将改进贷款程序,使检查可以报告更多的细节,如果客户检查“失败”,为什么建议拒绝贷款,将使用第二个函数,输出报告。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值