(2.6).[5章]启发式设计构造方法三:找出易改变的区域(p92)

找出易改变的区域

优秀设计师的一项特质:对变化的预期能力

好的一项设计最重要的挑战之一就是:适应变化

目的是:把不稳定的区域隔离出来,从而把变化的影响限制在一个子程序内部

一、可采取的措施:

  1. 找出看起来容易变化的项目
  2. 把容易变化的项目分离出来
  3. 把看起来容易变化的项目隔离开来

二、容易变化的区域:

1、业务规则 这是很容易成为软件频繁变化的根源,应对它进行封装,而不能遍布整个程序

2、对硬件的依赖 主程序不直接与特定硬件连接,而是通过一个硬件接口子系统,利于调试后硬件兼容

3、输入和输出

4、非标准的语言特性

5、困难的设计区域和构建区域  把它封装隐藏起来,因为这些可能因为设计太差而要重做

6、状态变量 比如我们常用bool型表示状态,但如果后期要增加第3种状态,就要修改很多地方,但如果使用枚举修改就会更简单

使用状态变量时增加至少两层的灵活性和可读性:

  1. 不要使用布尔型做为状态变量,请换用枚举型,给状态变量增加一个新状态是很常见的
  2. 使用访问器子程序取代对状态变量的直接检查,外部通过检验访问器而不是检查状态变量进行判断,使程序能够适应更复杂的状态情况。

7、数量的限制

三、预料不同程度的变化

虽然对可能的变化做出设计是种好的策略,但考虑投入与产出比,一个原则是:考虑潜在变化的设计投入与发布变化的可能性要成正比,最终达到变化的影响与发生的可能性能反比。

如果一个变化特别容易发生而又容易做出计划,就应该在上面多下功夫。

不要把过多精力发生在不太可能变化而且又很难做出设计变化上。

找出容易变化区域的一个好方法是:首先找出程序中对用户有用的最小集,它构成了系统的核心,不容易发生改变。接下来用微小的步伐扩展这个系统。

通过首先定义清楚核心,你可以认清那些属于附加功能,把它提取出来,并改进隐藏。

通过这段时间的阅读,最大的体验就是:

过往的项目中,我们只考虑了系统功能性的需求,对扩展性、可靠性、性能方面的考虑几乎没有,这样也造成了后期维护工作量大、困难、系统不稳定等多种并发症。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值