代码大全学习-5-构建中的设计

第五章是讲构建中的设计 (Design in construction)。

第一节介绍了设计中面临的一些挑战。设计是一个"wicked"的问题,就是需要通过解决或者部分解决才能定义清楚的问题。作者特别举了Tacoma Narrows大桥的例子来说明,不等到这个桥被建好,并被风吹倒,设计者根本不会知道设计的时候还要考虑风的影响。设计也是一个"Sloopy"的过程,过程中会犯错,一个好的方案和一个不好的方案可能只有很小的区别,很难知道什么时候是足够好可以完成设计了,很多情况下,往往是没有时间的时候就完成了。设计中会涉及到各种取舍和优先级的高低,有各种限制和约束。设计也没有一个决定性的正确答案,有时候会有很多可行的方案,这就导致它是一个启发式的过程,其中包含了不断的试错。用一个词来概括就是"Emergent"。设计方案不会一下子从某个人的脑海里蹦出来,它需要不断的评审,非正式的讨论,可能要写一些代码,修改一些代码,不断重复这个过程才能得到一个比较好的方案。

第二节讲了设计中最重要的三个观念:处理复杂性(Complexity),高质量的设计特征,设计的层次。

先说复杂性的处理。这是软件最主要最需要处理的东东。这里要说明一下什么是复杂性。事物的属性可以分为两类:一类是本质的(Essential),一类是附属的(Accidential)。本质的属性就是一种事物必须具有以成为这种事物的属性,就像汽车一定会有发动机一样,没有发动机就不能叫汽车。附属的属性就是可有可无,不影响这种事物就是这

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值