40、类与方法设计:优化、映射及约束契约详解

类与方法设计:优化、映射及约束契约详解

1. 类与方法设计优化

7.1 优化对象访问路径

当对象间消息传递路径长且频繁时,可在调用对象中添加属性,存储与路径末端对象的直接连接,以优化访问路径。

7.2 审查类属性

确定使用属性的方法和使用这些方法的对象。若仅读和更新方法使用某属性,且只有单个类的实例发送消息来读写该属性,可将属性移至调用类,提升系统速度。

7.3 审查方法扇出

扇出指方法发送的消息数量,包括直接扇出(方法自身发送的消息数)和间接扇出(消息树中其他方法调用的方法发送的消息数)。若某方法扇出相对较高,可考虑为消息树中用于向对象发送消息的属性添加索引。

7.4 优化常用方法语句执行顺序

有时可重新排列常用方法中的语句以提高效率。例如,若已知基于系统中的对象,通过先按一个属性搜索再按另一个属性搜索可缩小搜索范围,则应优化搜索算法,使其按预定义顺序搜索。

7.5 避免重复计算

通过创建派生属性(或活动值)避免重复计算,即缓存计算结果。可通过在计算涉及的属性上添加触发器实现,仅当计算涉及的属性之一更改时才重新计算。另一种方法是标记派生属性以便重新计算,并延迟到下次访问该派生属性时进行。

7.6 处理一对一关联对象

对于一对一关联的对象,为提高效率,可将两个定义类合并为一个类。但在数据库中存储“更胖”的对象时,可能需要重新考虑此优化。根据对象持久化类型,保持两个类分离可能更高效,或者在问题域层合并,在数据管理层分离。

2. 问题域类到实现语言的映射

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值