代码大全2札记第四波

管理复杂度偶然的难题和本质的难题:我认为是这样的概念,举个例子,NBA的每场得分,从本质上来看,每场最高得分不可能超过200分,那么我们是否可以将每场的最高得分限制为200分呢,显然这样会遇到一个问题,就是说假如出现某种偶然情况,竞争的两支球队,一支不防守,另外一支疯狂进攻,那么得分可能会超过200分,那么我们为了考虑这种偶然的情况,显然我们不可能把分数最高设置为200分。管理复杂度的重要性:设计软件有两种方式,第一种是设计非常简单,看上去明显没有缺陷;第二种是设计非常复杂,看上去没有明显缺陷。那么能将复杂度管理好,是非常重要的。如何应对复杂度:把任何人在同一时间需要处理的本质复杂度的量减少。不要让偶然的复杂度无谓增长。理想的设计特征:当我解决问题时,从不考虑美感。只想着如何解决问题,然而一旦解决了问题,如果解决方案不够优美,那么我知道做错了。设计的层次

软件系统分解为子系统:整个软件系统被分解为多个不同的子系统后,子系统之间的相互关联要尽可能的少,不能A-B-C-D-E之间来回的关联。子系统分为以下大的种类:分解为类:将子系统适当的分解,,其分解出来的类要形成具有特定功能的类。类和对象的关系,就如同模具和实物。子程序的内部设计:比如说选择不同的算法,比如要使用冒泡还是插入启发式的设计

找出容易改变的区域

业务规则、硬件依赖、输入输出、状态变量、数据量的限制,这些因素都是容易发生改变的,就需要把这些从系统中进行分离。预料不同程度的变化。保持松散耦合

耦合标准:查阅常用的设计模式

其他的启发方式

设计实践

然后拍一些美得想哭的照片,留给老年的自己。

代码大全2札记第四波

相关文章:

你感兴趣的文章:

标签云: