知识卡片
分治知识抽象三武器
内容
分治、知识、抽象是应对软件复杂度与规模增长的三类武器。分治:把问题拆成足够小、可被单人解决的子问题,并想清楚如何把各部分重新装配为整体;知识:复用先前问题的解法,不限于代码,也包括书籍、模式描述、设计文档;抽象:隐藏无关细节缩小问题空间,只关注与当前任务相关的部分。三者共同让开发者在智力条件不变的前提下应对不断增长的问题规模,软件架构正是这三类武器在系统层面的具体化。
参考来源
- 位置:《恰如其分的软件架构》第1章《概述》1.1节《分治、知识与抽象》(源文件:_epub-src/OEBPS/text00005.html)
- 结论依据:原文明确列出分治、知识、抽象三个概念并逐一给出定义(分割为子问题、复用先前解法、隐藏细节简化问题),并总结三者共同价值是在智力条件不变的情况下应对复杂度增长。
- 原始内容:开发者把问题分割为规模更小且易于处理的若干子问题,这样他们就可以运用相似问题的知识来解决某些子问题,而且使用抽象有助于他们进行推理和判断。分治、知识、抽象的有效性在于它们能帮助我们在不变的智力条件下理解不断增长的问题。