单重继承缺陷的临时解决方法

本文探讨了在设计CompositionSDK过程中遇到的单重继承问题,并提出了通过组合方式实现多重功能的解决方案。

当我在设计一个Composition SDK的时候,我遇到了一个由单重继承引起的问题。请先看一下类图。


 

界面组合思路与微软的CAB类似。遇到的问题就是:1 在图中存在继承了类B的类A需要继承类C的功能,但是单重继承又不能使A继承C,如何解决呢? 2 具体的应用会对SmartPart,PulledSmartPart,PushedSmartPart,MasterSmartPart,PulledMasterSmartPart,PushedMasterSmartPart进行相应的继承扩展,如何能够灵活处理呢?

目前,我采用的是组合的方式来实现,即按接口层次实现一组通过能,按必须继承的类完成一组功能,将两组功能组合起来。


 

不过,每一个需要继承系统类的类,如果它实现ISmartPart/IWorkspace接口,都必须重新使用Composor实现一次,我暂时无法找到更好的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值