创建业务对象:组合与继承的权衡及属性实现
在软件开发中,创建业务对象是构建系统的重要环节。本文将探讨在设计业务对象时,组合与继承的选择,并详细介绍 BaseArtisan 类属性的实现。
1. 组合与继承的选择
在设计类关系时,我们可以考虑让 BaseArtisan 继承自 Address ,但使用聚合(或组合)方法相较于继承有诸多优势。
1.1 组合的优势
- 结构易理解 :
Artisan实例有一个address属性,该属性是另一个对象,且该对象有自己的相关属性。对于Artisan来说,可能只有一个重要地址,这种结构优势不明显,但对于Customer和Order等对象,可能有多个关联地址,如账单地址和送货地址,组合结构更易于处理。 - 降低复杂性 :随着系统对象库变得更大、更复杂,单纯基于继承的设计方法会导致庞大的类树,很多类可能只是为了被继承而提供功能。而基于组合的设计将功能封装在单个类中,其实例成为属性,能显著降低复杂性。
1.2 组合的潜在缺点
- 嵌套过深 :可能会出现对象嵌套过深的情况,导致数据结构链过长。例如,在
hms_sys系统中,从
超级会员免费看
订阅专栏 解锁全文

337

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



