(五)设计原则之合成复用原则

本文阐述了合成复用原则的概念,即优先采用组合而非继承来构建软件系统,以避免因继承带来的开闭原则违背问题。文章还介绍了组合与聚合的区别,并以桥接模式为例说明如何在设计中应用这一原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

合成复用原则定义:在系统中尽量多使用组合或聚合关联关系,少使用或不使用继承关系。

为何?

因为继承存在一个风险,当超类的实现发生变更了,其子类也不得不发生改变,如此一来就违反了开闭原则,因此慎用继承;

具体如何使用:

1.尽量使用对象来组合;

2.通过关联关系使用一些已有的对象;

其中组合和聚合是要一点区分,在类的设计上,是有区分的;例如人和四肢,这个时候用组合的关系;例如班级和学生,这个时候用聚合的关系;显然,组合要比聚合对应的整体与部分关系强烈许多。


如图的桥接模式,Abstraction与Implementor的关系用的是聚合关系;(对应接口和抽象类的实现是应该用基础的,因为我们要遵循面向抽象编程;)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值