类与方法设计:优化、映射及约束契约详解
1. 类与方法设计优化
7.1 优化对象访问路径
当对象间消息传递路径长且频繁时,可在调用对象中添加属性,存储与路径末端对象的直接连接,以优化访问路径。
7.2 审查类属性
确定使用属性的方法和使用这些方法的对象。若仅读和更新方法使用某属性,且只有单个类的实例发送消息来读写该属性,可将属性移至调用类,提升系统速度。
7.3 审查方法扇出
扇出指方法发送的消息数量,包括直接扇出(方法自身发送的消息数)和间接扇出(消息树中其他方法调用的方法发送的消息数)。若某方法扇出相对较高,可考虑为消息树中用于向对象发送消息的属性添加索引。
7.4 优化常用方法语句执行顺序
有时可重新排列常用方法中的语句以提高效率。例如,若已知基于系统中的对象,通过先按一个属性搜索再按另一个属性搜索可缩小搜索范围,则应优化搜索算法,使其按预定义顺序搜索。
7.5 避免重复计算
通过创建派生属性(或活动值)避免重复计算,即缓存计算结果。可通过在计算涉及的属性上添加触发器实现,仅当计算涉及的属性之一更改时才重新计算。另一种方法是标记派生属性以便重新计算,并延迟到下次访问该派生属性时进行。
7.6 处理一对一关联对象
对于一对一关联的对象,为提高效率,可将两个定义类合并为一个类。但在数据库中存储“更胖”的对象时,可能需要重新考虑此优化。根据对象持久化类型,保持两个类分离可能更高效,或者在问题域层合并,在数据管理层分离。
超级会员免费看
订阅专栏 解锁全文
9754

被折叠的 条评论
为什么被折叠?



