软件构造学习记录(引2)

可拓展性和可复用性

  可复用性和可拓展性有些许重叠的应用场景:可复用的软件也许需要在特定的场合下修改规约,这涉及到软件的可拓展性。

可拓展性

  可拓展性是调整软件产品改变规约的轻松程度。软件规模越大,那么扩展起来就越难。大型软件对于它的维护者来说就像是一个巨大的纸牌屋,修改一点点元素都有可能导致垮塌。
  我们为什么需要可拓展性?答:软件的需求是变化的,一些固有成见认为软件依靠某些人类的现象由此变化多端。而传统的开发方法没有做出足够的变化,而是依赖于软件生命周期的最初阶段固定下来的需求,程序的其它部分也都致力于这个需求。
  可拓展性的设计方法:
  1.简约主义设计:好的设计,简约而不简单。----M.Cobonli
  2.分离主义设计:模块们越自主,修改软件越安全。理由:一个简单的修改在自主的软件模块上,会尽可能地影响较少的模块而不是牵一发而动全身。

可复用性

  可复用性事软件元素为不同应用的建造的服务的能力。对于可复用性的需求来自于我们设计软件时,处理的实际问题的共性。
  一个可复用的软件元素通常适用于许多不同的开发工作。
  两个准则:
  1.不要重复自己的工作(要DIY,不要DRY)
  2.不要重复发明轮子(前人的优秀模块要承认其优越性)

总结

  那么上面两个也是十分重要的质量标准,比如一些模拟的引擎,就与二者息息相关:我认为,引擎是预测未来需要的代码而给出的代码集合。
  如果说可复用性关注的是问题的共性,那么可以说可拓展性则要预想问题的异性。二者在设计中不是相互对抗的,一个可复用性好的软件,直觉上似乎必然不会过于复杂(相较于同目的的专用软件),也就保证了可扩展性的充足。
  一点点愚见,感谢您的浏览。

声明:引用部分翻译自课程文档的英文部分,侵删

以上,致礼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值