18、创建业务对象:组合与继承的权衡及属性实现

创建业务对象:组合与继承的权衡及属性实现

在软件开发中,创建业务对象是构建系统的重要环节。本文将探讨在设计业务对象时,组合与继承的选择,并详细介绍 BaseArtisan 类属性的实现。

1. 组合与继承的选择

在设计类关系时,我们可以考虑让 BaseArtisan 继承自 Address ,但使用聚合(或组合)方法相较于继承有诸多优势。

1.1 组合的优势
  • 结构易理解 Artisan 实例有一个 address 属性,该属性是另一个对象,且该对象有自己的相关属性。对于 Artisan 来说,可能只有一个重要地址,这种结构优势不明显,但对于 Customer Order 等对象,可能有多个关联地址,如账单地址和送货地址,组合结构更易于处理。
  • 降低复杂性 :随着系统对象库变得更大、更复杂,单纯基于继承的设计方法会导致庞大的类树,很多类可能只是为了被继承而提供功能。而基于组合的设计将功能封装在单个类中,其实例成为属性,能显著降低复杂性。
1.2 组合的潜在缺点
  • 嵌套过深 :可能会出现对象嵌套过深的情况,导致数据结构链过长。例如,在 hms_sys 系统中,从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值