组件软件的新兴技术与市场趋势
在软件领域,组件软件正逐渐成为焦点,其相关的新兴技术和市场趋势值得深入探讨。
组件软件的新兴技术
高级对象组合
对象组合是跨越组件边界的实用技术。类组合对于许多组件应用来说过于静态,因为继承的类需要在编译时可用。而对象组合允许独立部署的组件在运行时进行扩展。不过,基于消息转发的对象组合会消除整体的身份,引入概念上的复杂性。为了保持一致性,需要指定一个“主”部分对象,其他部分对象作为从属部分。使用基于委托的对象组合可以解决这个问题。
委托方面,基于实现继承的类组合会在基类和子类之间引入微妙的依赖关系,导致脆弱基类问题。基于消息转发的对象组合则不会受此影响,但使用委托时,对象组合同样会出现问题。解决跨组件边界的委托问题等同于解决语义脆弱基类问题。一旦解决,基于委托的对象组合可以在运行时形成具有单一身份的组合体。
分裂对象是通过委托建立共同身份的对象网络。其思想是将分裂对象视为一个整体并保持封装。未来研究的一个可能方向是层次化分裂对象,每个分裂对象的片段可以有内部组织为分裂对象的私有部分。不过,分裂对象存在重组问题,片段的合并或拆分可能会破坏现有客户端。此外,分裂对象还涉及类型问题,例如“三叶草”方法试图解决这一问题,将对象表示为一组“块”,每个对象遵循的类型对应于块的一个子集。
环境获取与分裂对象中的委托密切相关,对象嵌入在包含层次结构中,无法处理的委托或转发请求会向上发送到包含层次结构,由最内层能够处理请求的容器处理。
动态继承是将基类的概念泛化为在对象构造时选择的基对象,通常依赖于对象与其基对象之间的委托语义。
超级会员免费看
订阅专栏 解锁全文
904

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



