认知中概念思维与创建抽象两个能力比较

软件开发有两个重要点:编写代码与逻辑方法来自于两种认知能力:

  1. 概念思维(战略思维)
  2. 创建抽象(量化思维)

事实上,很多人可以做到第一个而不是第二个,这也解释了设计模式的流行。

概念思维和创建抽象都是认知过程,涉及以超越具体细节的方式理解和组织信息。

概念性思维:

  • 定义:概念思维涉及掌握抽象概念、发现看似不相关的概念之间的联系以及理解全局的能力。
  • 特点:概念性思考者可以在更高层次上分析情况、识别模式并超越直接事实进行思考。
  • 示例:如果您尝试解决问题,概念思考者可能会专注于理解基本原理和概念,而不是迷失在细节中。

采用鸟瞰视角,翱翔在具体代码之上。这是关于理解大局、核心原则、“为什么”。 “如何”的背后。它涉及掌握复杂的系统、识别模式和设想优雅的解决方案。可以将其视为建筑师绘制宏伟建筑的蓝图。

创建抽象:

  • 定义:创建抽象涉及形成代表事物基本品质的概括或心智模型,并剔除具体细节。
  • 特点:抽象使我们能够简化复杂的信息,使其更易于管理和理解。它涉及识别共性并创建通用表示。
  • 示例:在编程中,创建函数是一种抽象形式。它将一组指令封装在一个可重用的名称后面,使您可以使用该功能,而无需处理其复杂的实现。

深入细节,打造封装复杂性的构建块。它是关于将概念转化为具体的、可重用的元素。函数、类、数据结构——这些是软件的砖块和砂浆,每一个抽象都隐藏了复杂的细节,使代码更清晰、更模块化、更容易理解。


它们有何不同?
类似做一个食谱:

  • 概念思维是理解烘焙蛋糕的本质——成分的相互作用、化学反应、质地的微妙平衡。概念性思考和创建抽象涉及对当前问题的更高层次的理解。它是以一种不仅正确而且模块化、可扩展和可维护的方式构建解决方案。这需要很好地掌握软件架构、系统设计以及创建和理解复杂系统的抽象表示的能力。
  • 创建抽象正在编写配方本身 - 将过程分解为步骤、定义数量并指定工具,实质是量化的含义

如何做到?
概念思维是一种更广泛的思维模式。它涉及:

  • 识别和理解模式:识别复杂系统(通常跨不同领域)中反复出现的主题和关系。
  • 形成概括:超越具体示例,创建适用于更广泛情况的更广泛原则和规则。
  • 构建心理模型:创建系统、流程或现象的内部表征,以解释其行为并预测其结果。
  • 假设推理:想象替代场景和可能性,玩“假设”游戏探索不同解决方案的游戏。

创建抽象是一个更加集中的过程,建立在概念性思维的基础上。它涉及:

  • 识别关键特征:隔离概念或系统的基本特征,忽略不相关的细节。
  • 映射关系:定义抽象的不同部分之间的连接以及它们如何交互。
  • 形式化概念:以清晰简洁的方式表达抽象,通常使用符号、模型或代码。
  • 重用抽象:将抽象应用于不同的上下文和问题,利用其通用性。

总之:

  • 概念思维侧重广泛、整体;创建抽象侧重重点突出、具体。
  • 概念思维需要理解模式和关系;而创建抽象则是隔离关键特征和关系
  • 概念思维属于心智模型、原则、假设;而创建抽象是形式化表示、模型、代码、量化能力。
  • 概念思维探索可能性,产生想法;而创建抽象解决具体问题,构建解决方案。

这两个能力涉及使用编程语言将给定问题转化为可行解决方案的能力。虽然有些人在这两个领域都表现出色,但其他人可能天生倾向于其中之一。

banq注:根据自身经验,统一这两个能力是 Context上下文 概念,纲举目张,只要一思考,就从Context角度思考,有几个上下文,边界在哪里,前提条件是什么,上下文中推理是逻辑还是相关性。