《面向对象的思考过程(原书第4版)》一1.2 对象及遗留系统

本节书摘来自华章出版社《面向对象的思考过程(原书第4版)》一书中的第1章,第1.2节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著

1.2 对象及遗留系统

在面向对象成为主流之前,开发人员面临的问题一直就是如何将新的面向对象技术与现有的系统集成起来。面向对象与结构化(或命令式)编程之间拥有明显的界限,而结构化编程当时则是主流的开发范式。而我始终反对面向对象和结构化编程是不兼容的这一观点,因为我认为面向对象与结构化编程绝不是互斥的。它们是互补的,因为对象可以与结构化代码很好地集成。直到现在我还经常听到这样的问题:你是一个面向过程的程序员还是面向对象的程序员?我会毫不犹豫地说:“我都是。”
同样,面向对象的代码并不意味着完全替代结构式代码。很多非面向对象的遗留系统(即现存的较老的系统)仍在正常工作,所以为什么要冒着潜在的风险来替换它们?大多数情况下,你不应当替换它们,至少不应当使用这样的理由。使用非面向对象的代码编程并不存在本质上的错误。然而,新一代开发者则会倾向考虑使用面向对象技术(有些情况下也只能这样做)。
过去的20年间,面向对象的开发领域一直在平稳显著地增长,全球社会对网络(比如互联网及移动基础设施)的依赖有力地帮助了面向对象技术飞速发展,甚至成为业界主流。浏览器与移动应用之间的海量交易开辟了全新的市场。在这个市场中很多软件都是全新的,几乎未受到遗留系统的影响。即使需要与遗留系统打交道,也可以使用包装对象将遗留系统包装起来。
包装对象
包装对象是指在面向对象的类中包含其他代码。例如,你可以将结构化代码(比如循环和条件)包装到一个对象内部,使其行为就像对象一样。你也可以使用包装对象来封装特性,比如安全特性、不可移植的硬件特性等。第6章讲述了如何包装结构化代码。
如今,软件开发最有趣的领域之一是遗留代码与移动及Web系统的集成。大部分情况下,一个移动Web前端最终会连接到大型机中的数据。市场对既拥有大型机开发经验又同时拥有移动Web开发经验的开发人员的需求量非常大。
我们在日常生活中有大量使用对象的经历,甚至有时候自己都没意识到在使用对象。当你打电话、使用你的家庭财务系统、玩电脑游戏(以及很多其他情况)时,这都是使用对象的经历。电子高速公路本质上已经成为基于对象的高速公路。随着业务越来越多地使用移动网络,这些业务也越来越多地使用对象,因为电子商务所用技术大多都是面向对象的。
移动网络
无需置疑,互联网的出现为面向对象技术的推广起到了极大的推动作用。这是因为在网络中很适合使用对象。尽管互联网是这场变革的领导者,而移动网络也加入进来并扮演着重要的角色。本书中,术语移动网络(mobile web)适用于移动应用开发和Web开发的上下文中。术语混合应用(hybrid app)则用于呈现在Web设备和移动设备的浏览器中的应用程序。

时间: 2024-09-20 22:15:42

《面向对象的思考过程(原书第4版)》一1.2 对象及遗留系统的相关文章

ROS机器人程序设计(原书第2版)第1章 ROS Hydro系统入门

第1章 ROS Hydro系统入门 欢迎开始阅读本书第1章.本章将介绍如何安装ROS系统,它是一种新的标准化机器人系统软件框架.本书是基于ROS Fuerte的<ROS机器人程序设计>一书的升级版.通过ROS,你可以使用大量的示例代码和开源程序轻松地完成机器人编程和控制.同时,你还能够理解如何使用各种传感器与执行器,并为你的机器人增加新的功能,如自动导航和视觉感知等.得益于开源理念,以及持续开发最先进算法并不断提供新功能的开源社区,ROS不断进步完善. 通过本书,你将学习到如下内容: 在特定版

《面向对象的思考过程(原书第4版)》一 导读

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第3章,第3.2节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 前 言本书内容概要正如书名所述,本书讲述了面向对象思考的过程.选择一本书的主题和书名是个很重要的决定,但如果主题概念性很强,决定就没那么容易了.大部分书籍都只涉及了编程及面向对象设计的某个方面.一些主流的书阐述了诸如面向对象分析.面向对象设计.面向对象编程.设计模式.面向对象

《面向对象的思考过程(原书第4版)》一1.1 基本概念

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.1节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著 1.1 基本概念 本书主要目标是让你学会思考如何将面向对象概念应用于面向对象的系统设计中.历史上定义面向对象的语言拥有以下特点:封装(encapsulation).继承(inheritance)和多态(polymorphism).因此,如果设计一门语言时没有完全实现以上特性,那么通常我们认为该语言不是完全面向对象的.即使实现了这三点,我也往往会加入组

《面向对象的思考过程(原书第4版)》一3.5 多重继承

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第3章,第3.5节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 3.5 多重继承 第7章会讲述有关继承的更多细节.然而,这里很适合讨论多重继承.多重继承是类设计中最强大也最具挑战的一个方面. 顾名思义,多重继承允许一个类继承自多个类.实际看起来这是个好主意.对象都应该模拟现实世界,不是吗?现实世界中存在很多多重继承的例子.父母是多重继承的

《面向对象的思考过程(原书第4版)》一 第3章 高级的面向对象概念

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第3章,第3.1节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 第3章 高级的面向对象概念 第1章和第2章讲述了面向对象的基本概念.在开始学习关于构建面向对象系统的一些具体设计问题之前,我们需要更进一步了解面向对象的一些概念,比如构造函数.操作符重载以及多重继承.我们也会讲述错误处理技术以及面向对象的设计中作用域的重要性.其中一些概念可能

《面向对象的思考过程(原书第4版)》一1.3 过程式编程与面向对象编程

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.3节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.3 过程式编程与面向对象编程 在我们深入了解面向对象开发的优势之前,先考虑一个更基本的问题:究竟什么是对象?这既是一个复杂的问题,也是一个简单的问题.它复杂是因为学习任何一种软件开发方法论都非易事.它简单是因为人们已经在按对象的方式进行思考.例如,当你看到一个人,你会把他

《面向对象的思考过程(原书第4版)》一1.6 究竟什么是类

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.6节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.6 究竟什么是类 简单地说,类是对象的蓝图.当你实例化一个对象时,你基于类来构建这个对象.事实上,尝试解释类和对象实际上是一个先有鸡还是先有蛋的问题.描述类时不使用术语对象是非常困难的,反之亦然.例如,个人自行车是一个对象.然而,有人已经创建了蓝图(就是类)来建造这个自行

《面向对象的思考过程(原书第4版)》一1.10 多态

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.10节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.10 多态 多态是一个希腊词,字面上理解为许多形状.尽管多态与继承是紧耦合的关系,但它通常单独作为面向对象技术中最强大的优点之一.当向一个对象发送一个消息时,该对象必须定义一个方法来响应这个消息.在继承体系图中,所有的子类从它们的超类中继承接口.然而,由于每个子类是单独

《面向对象的思考过程(原书第4版)》一第1章 面向对象的概念简介

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,[美] 马特·魏斯费尔德(Matt Weisfeld) 著 第1章 面向对象的概念简介 很多程序员其实并不知道在20世纪60年代就已出现面向对象的软件开发方式.尽管受欢迎的面向对象的编程语言(例如Smalltalk和C++)已被广泛使用,但直到90年代中后期面向对象范式才开始快速发展.面向对象方法论的兴起恰逢互联网作为商业及娱乐平台之际.总之,对象借助网络能良好协作.后来显然互联网存活下来,而面向对象的技术已经在开发新的

《面向对象的思考过程(原书第4版)》一1.8.1 接口

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.8节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.8.1 接口 我们可以看到接口定义了对象之间通信的基本手段.每个类设计接口规格来保证对象能被正确实例化和操作.必须向对象提供的接口发送消息来使用对象暴露的任何行为.接口需要完整描述类与类之间的交互.在大多数面向对象的语言中,访问修饰符指定为public的方法属于接口.私有