28、可复用性:通用框架的构建与应用

可复用性:通用框架的构建与应用

在软件开发中,可复用性是一个重要的目标。通过合理的设计和抽象,可以让代码在不同场景下发挥作用,提高开发效率和代码质量。本文将介绍一些与可复用性相关的概念和技术,包括类型参数的使用、属性 API、可变收集器、方法引用等,并给出一个通用容器的实现示例。

1. 类型参数与可复用性

在很多情况下,使用类型参数可以让代码更具通用性。类型参数允许在大多数常规类型适用的地方使用,不过可能会带来一些开销,比如(对象)代码的重复,或者维护运行时类型信息所需的资源。

这里有一个小测验:如果 T 是一个类型参数,在 Java 中能否分配一个 T 类型的数组呢?在 C# 中又如何呢?

2. 属性 API

为了定义容器属性的行为,我们需要引入一个接口。在更新属性值以及连接通用容器时,这个接口将发挥重要作用。为了明确支持的通用级别,我们做出以下假设:
1. 本地更新属性时 :可以仅根据当前组值和新的本地值来计算新的组值。也就是说,组值必须包含执行所需更新的足够信息。
2. 合并两个组时 :可以仅根据两个旧的组值来获得新的组值。

为了避免本地值和组值之间的混淆,我们将组值称为组摘要。首先,需要区分本地值的类型 V 和组摘要的类型 S 。在某些情况下,它们可能相同,例如在统计点赞数的场景中,两者类型都是 Integer ;而在水容器的例子中,它们是不同的类型。

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值