| 编程范式 | 核心概念 | 关键突破 | 主要目的 | 
| 代表语言 | 运行机制 | 实现原理 | 常见应用 | 
| 命令式/过程式 (Imperative/Procedural) | 命令/过程 (Command /Procedure) | 突破单一主程序和非结构化程序的限制 | 模拟机器思维,实现自顶向下的模块设计 | 
| Fortran/Pascal/C | 命令执行 | 引入逻辑控制和子程序 | 交互式、事件驱动型系统;数值计算等 | 
| 函数式/应用式 (Functional/Applicative) | 函数 (Function) | 突破机器思维的限制 | 模拟数学思维,简化代码 | 
| Scheme/Haskell | 表达式计算 | 引入高阶函数,将函数作为数据处理 | 微积分计算;数学逻辑;博弈等 | 
| 逻辑式 (Logic) | 断言 (Predicate) | 突破逻辑与控制粘合的限制 | 专注逻辑分析,减少控制代码 | 
| Prolog/Mercury | 逻辑推理 | 利用推理引擎在已知的事实和规则的基础上进行逻辑推断 | 机器证明;专家系统;自然语言处理;语义 (semantic web);决策分析;业务规则管理等 | 
| 对象式 (Object-Oriented) | 对象 (Object) | 突破数据与代码分离的限制 | 迎合人类认知模式,提高软件的易用性和重用性 | 
| Smalltalk/Java 
 | 对象间信息交换 | 引入封装、继承和多态机制 | 大型复杂交互式系统等 | 
| 并发式/并行式 (Concurrent/Parallel) | 进程/线程 (Process/Thread) | 突破串行的限制 | 充分利用资源、提高运行效率、提高软件的响应能力 | 
| Erlang/Oz 
 | 进程/线程间通讯与同步 | 引入并行的线程模块以及模块间的通讯与同步机制 | 图形用户界面;I/O处理;多任务系统如操作系统、 络服务器等;实时系统;嵌入式系统;计算密集型系统如科学计算、人工智能等 | 
| 泛型式 (Generic) | 算法 (Algorithm) | 突破静态类型语言的限制 | 提高算法的普适性 | 
| Ada/Eiffel/C++ 
 | 算法实例化 (多发生于编译期) | 利用模板推迟类型指定 | 普适性算法如排序、搜索等;集合类容器等 | 
| 元编程 (Metaprogramming) | 元程序 (Metaprogram) | 突破语言的常规语法限制 | 减少手工编码,提升语言级别 | 
| Lisp/Ruby/JavaScript | 动态生成代码或自动修改执行指令 | 利用代码生成或语言内建的反射(reflection)、动态等机制,将程序语言作为数据来处理 | 自动代码生成;定义结构化配置文件;IDE;编译器;解释器;人工智能;模型驱动架构(MDA);领域特定语言(DSL)等 | 
| 切面式 (Aspect-Oriented) | 切面 (Aspect) | 突破横切关注点无法模块化的限制 | 实现横切关注点分离 | 
| AspectJ/AspectC++ 
 | 在接入点处执行建议 | 通过编织(weaving)将附加行为嵌入主体程序 | 日志输出;代码跟踪;性能监控;异常处理;安全检查;事务管理等 | 
| 事件驱动 (Event-Driven) | 事件 (Event) | 突破顺序、同步的流程限制 | 调用者与被调用者在代码和时间上双重解耦 | 
| C#/VB.NET | 监听器收到事件通知后做出响应 | 引入控制反转和异步机制 | 图形用户界面; 络应用;服务器;操作系统;IoC框架;异步输入;DOM等 | 
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92167 人正在系统学习中 相关资源:软件开发范型(Paradigm)-清华大学郑人杰_殷仁昆教授_《软件工程…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!