共性和可变性分析

本文探讨了在设计中如何处理变化,强调了共性分析和可变性分析的重要性。共性分析寻找不变的结构,而可变性分析关注变化的部分。两者在面向对象设计中相辅相成,抽象类用于表示共性,具体类实现可变性。设计过程可简化为定义规约视角(接口)和概念视角(抽象类)的关联。
摘要由CSDN通过智能技术生成

考虑设计中什么应该是可变的。这种方法与关注引起重新设计的原因刚好相反。它不是考虑什么会迫使设计发生改变,而是考虑什么能够在不引起重新设计的前提下改变。这时主要关注的就是对变化的概念进行封装,这时许多设计模式的主题。

如何在问题领域中找到不同变化,如何找到不同领域中的共同点。找到变化的地点,称为“共性分析”,找出如何变化,称为“变性分析”。

共性分析就是寻找一些共同的要素,它们能够帮助我们理解系列成员的共同之处在哪里。可变分析揭示了系列成员之间的不同,可变性只有在给定了共性之后才有意义。

共性分析寻找的是不可能随时间而改变的结构,而可变分析则要找到可能变化的结构。可变性分析只在相关联的共性分析定义的上下文中才有意义。从架构的视角来看,共性分析为架构提供长效的要素,而可变分析则促进他适应实际使用所需。也就是说,如果变化是问题领域中各个特定的具体情况,共性就定义了问题领域中将这些情况联系起来的概念。共通的概念将用抽象类表示。可变性分析所发现的变化将通过具体类(也就是从抽象类派生而来的具有特定实现的类)实现。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值