《冒号课堂:编程范式与OOP思想》 写得非常有趣,对了解编程语言的发展、不同的编程范式有非常大的帮助。
1.4 编程范式
编程范式是计算机编程中的基本风格和典范模式,引导人们带着其特有的倾向和思路去分析和解决问题。
抽象的编程范式必须通过具体的编程语言来体现。范式的世界观体现在语言的核心概念中,范式的方法论体现在其表达机制中。一种语言的语法和风格与其所支持的编程范式密切相关。
1.5 开发技术
在宏观上选取一些框架以控制整体的结构和流程,在微观上利用库和工具包来解决具体的细节问题。
-
框架:使设计者在特定领域的整体设计上不必重新发明轮子,是一种设计重用。利用控制反转机制实现对模块的统一调度,给程序员带来约束。
-
库/工具包:使开发者摆脱底层编码,专注特定问题和业务逻辑;是代码重用。为程序员带来自由。
-
设计模式(design pattern)和架构(architecture)不是软件产品,而是软件思想。设计模式是战术思想,架构是战略思想。
-
设计模式:是针对某些经常出现的问题而提出的行之有效的设计解决方案,侧重思想重用,因此比框架更抽象、更普适,但多局限于局部解决方案,没有框架的整体性。
-
惯用法(idiom):也是针对常发问题的解决方案,偏重实现而非设计,与实现语言密切相关,是一种更底层更具体的编程技巧。
-
架构:一般指一个软件系统的最高层次的整体结构和规划,一个架构可能包含多个框架,而一个框架可能包含多个设计模式。