首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统架构设计师:软件架构的演化和维护--对象演化

假设软件架构对应到具体的架构风格或模式,我们就可以讨论演化的各种具体操作了。下面以面向对象软件架构为例,结合UML顺序图来进一步讨论各种演化操作。

在顺序图中,组件的实体为对象。组件本身包含了众多的属性,如接口、类型、语义等,这些属性的演化是对象自身的演化,对于描述对象之间的交五过程并无影响。因此,会对架构设计的动态行为产生影响的演化只包括AddObject(AO)和DeleteObject(DO)两种,如图10-1所示。

AO表示在顺序图中添加一个新的对象。这种演化一般是在系统需要添加新的对象来实现某种新的功能,或需要将现有对象的某个功能独立以增加架构灵活性的时候发生。

DO删除顺序图中现有的一个对象。这种演化一般在系统需要移除某个现有的功能,或需要合并某些对象及其功能来降低架构的复杂度的时候发生。对于发生演化的对象,如果其没有与现有的任何一个对象产生交五关系,则可以认为其对于系统而言没有任何意义,因为这种演化不会对当前的架构正确性或时态属性产生影响。因此,在发生对象演化时,一般会伴随着相应的消息演化,新增相应的消息以完成交互,从而对架构的正确性或时态属性产生影响。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OB_CwKkkN0rl0Em1Cjn98roA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券