ad

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.8 架构编程思想

admin 81 2023-10-26

【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第8节,由颜廷吉编著。

2.8 架构编程思想

从计算机被发明起,人们尝试了很多方法来编写程序,例如:自顶向下编程、自底向上 编程、模块化编程、结构化编程等。这些方法的根本目的只有一个 使编程更加高效,即 让编写一个复杂的程序变得简单、自由、高品质、易于理解、易于扩展、易于维护。在这几 十年的发展过程中,前期的面向过程编程 (Procedure Oriented Programming,POP) 以及后 来的面向对象编程 (Object Oriented Programming,OOP) 是被证明的两种最佳编程实践。而 且在这两种编程方式下,近年来又发展了面向服务 (Service OrientedArchitecture,SOA) 的 架构体系,使得编程思想更加完善。

2.8.1 面向过程编程

过程可以理解为子程序的集合或者函数的集合。在面向过程编程中,强调的是函数或者 子程序。函数是指令的集合,用于执行某个特定的任务。在程序中,函数被重复调用来执行 任务。由此而产生了各种强大而优秀的面向过程编程语言,具有代表性的就是Fortran与 C。

在面向过程编程中,问题被看成过程的有序组合(例如:读、计算、展示结果等过程)。以面向过程来思考时,首先把问题分解成一系列过程,每个过程可以对应一个或者多 个函数,实现了所有的函数,问题也就被解决了,如图2-61所示。

面向过程不重视数据,因而面向过程编程最大的问题在于数据处理。在C 语言中,为 了一个或者多个函数可以访问变量,这个变量必须被声明为全局变量,如图2-62所示。如 果这个程序有10个函数,每个函数都可以访问这个变量,如果这个变量是程序的一个重要 变量,那么任意一个不小心的操作就有可能毁了整个程序。而且当程序很庞大时,出现 bug 就很难定位到是哪个函数出了问题。

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.8 架构编程思想

2.8.2 面向对象编程

1. 面向对象概述

面向对象就是以一种事物为中心的编程思 想。在分析和解决问题时把思维和重点转向现 实中的客体,把构成的事物分解成各个对象, 建立对象是为了描述某个事物在解决问题的步 骤中的行为。面向对象编程保留了结构化编程 的所有优点,并且更接近现实,如图2-63所 示。具有代表性的面向对象的编程语言有 Java、 C++、Smalltalk 等。

通过 UML 工具厘清这些客体之间的联系,再用面向对象的语言来实现这种客体以及客 体之间的联系。

2. 面向过程与面向对象

从思维方式上来讲,二者对现实问题的建模方式不同。面向过程编程把问题分解成一个 个过程, 一步步实现这些过程,操作之间的交互,术语叫“函数”调用。而面向对象编程 是模型化的,把问题看成一系列对象之间的交互,而设计出这些对象以及对象之间的交互, 对象对其数据操作的术语叫"方法"实现。

从程序的本质上来讲,两者对算法以及数据的重视程度的不同产生了两种编程思维。程 序的本质是算法和数据。面向过程编程重视算法,忽视数据;面向对象编程侧重点在数据, 对算法的重视程度不如面向过程编程。因为对数据的重视,在面向对象编程中,引入了许多 提高编程效率的新特性 封装、继承、多态、抽象,这些新特性可以使人们以一种全新的 理念去编程。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阅读《Java核心技术》卷1 基础知识_更了解Java的奥妙_1.5 关于 Java 的常见误解
下一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_3.1.1 代码管理工具
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×