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

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

第1章

面向对象的概念简介

很多程序员其实并不知道在20世纪60年代就已出现面向对象的软件开发方式。尽管受欢迎的面向对象的编程语言(例如Smalltalk和C++)已被广泛使用,但直到90年代中后期面向对象范式才开始快速发展。
面向对象方法论的兴起恰逢互联网作为商业及娱乐平台之际。总之,对象借助网络能良好协作。后来显然互联网存活下来,而面向对象的技术已经在开发新的基于Web的技术中占据了重要位置。
本章标题是“面向对象的概念简介”。标题中关键词是“概念”而非“技术”。在软件行业,技术变迁非常快,而概念则是逐步演进。我使用单词“演进”是因为尽管它们保持相对稳定,但也在变化。这正是需要关注这些概念的原因。尽管它们相对稳定,但经常被重新反思,也会导致一些很有意思的讨论。
从90年代中后期的最原始的浏览器到如今移动、手机、Web应用占据主导地位,通过这些多样的行业技术的发展很容易追溯过去20年间的演化。甚至如今我们正在探索混合软件,而新的开发技术就在下个拐角。在整个旅程中,每一步都存在面向对象的概念。这也是为什么本章主题如此重要,因为从20年前到现在仍在使用这些概念。

时间: 2024-09-14 06:55:34

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

《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药 2006年3月1日

2006年3月1日:"敏捷子弹" 我很难做出判断.也许你可以帮我.我不能断定以下两种观点,哪种更糟心:一种观点认为使用"敏捷"方法,并且恨不得微软在全公司范围内采用它,用它解决我们面临的所有麻烦:另一种观点认为敏捷是被一些无知的学者鼓吹出来的,它实际上是一种改头换面的愚昧方法,它让开发者不用承担任何责任.这是个两难的决定,两种观点都会使我有种作呕的感觉. 作者注:这是我最喜欢的栏目之一,因为其间爱恨交错不能自已.尽管它并不完美,但我在这个主题上的评论还是相当公允的.

《代码之殇》(原书第2版)——第3章 根除低下的效率 2006年7月1日

2006年7月1日:"停止写规范书,跟功能小组呆在一起" 我不是项目经理(Program Manager,PM),我也从来没有担任过项目经理,我将来也不可能成为一名项目经理.这并不是因为我个人对项目经理的抵触,其实,我的朋友之中不乏出色的项目经理.很显然,我没有权利去教导项目经理应该怎么去做他们的工作. 尽管如此,项目经理应该停止写规范书.就这么简单!他们在浪费我的时间,浪费组织的时间,浪费整个公司的时间.你几乎可以听到残留着的.细微的.嘎吱嘎吱的声音,因为规范书像白蚁一样在一口一口咬

《代码之殇》(原书第2版)——第3章根除低下的效率 2007年2月1日

2007年2月1日:"糟糕的规范书:该指责谁?" 规范书基本上都是可怕的.不仅仅指项目管理规范书,而且也包括开发规范书和测试规范书.我说的"可怕",主要是指难以撰写,难以使用,而且难以维护.你要知道,这很可怕!规范书往往还是不完善的,组织得很差,并且没有得到充分的复审.规范书永远都是这个样子,也看不到有任何变好的迹象. 为此,我想要指责项目经理,部分原因是因为我喜欢这么做,但更主要的还是因为他们是糟糕规范书的始作俑者.然而,事实不允许我指责项目经理.人人都在写糟糕的

《代码之殇》(原书第2版)——第1章 项目管理失当,2008年9月1日

2008年9月1日:"我得估算一下" 尽管"你的任务估算是怎么产生的?"这样的疑问总是列在诸如"不要对你的项目经理或同事抱怨"的话题之首.但当我与刚出道的工程师们讨论问题时,首先的话题不是估算,而是职业发展和一些大众话题.这就是为什么问题总是在高谈阔论中变得无法控制.估算就是在预测未来,有太多的问题是未知而不可预见的,因而想为一个精神错乱的暴君提供一个精确的估算简直不可能.是不是?肯定是这样的,对吧? 错了.估算来自于软件工程师在规范的基础上对最

《VMware vSphere设计(原书第2版)》——2.7 管理工具简介

2.7 管理工具简介 将ESXi host部署并配置后,可以用几个管理工具来监控和维护它.我们将在下一章节详细介绍一些工具.现在先简要介绍下都有哪些工具以及如何用这些工具来管理ESXi host.工具的功能会直接影响到vSphere环境设计,以及它的维护方案和hypervisor架构. 2.7.1 host管理工具 有很多host管理工具都可以不通过vCenter来直接管理host.这些在首次配置host.排查问题,以及vCenter发生故障的时候很有用. vSphere客户端 Windows

代码之殇》(原书第2版)——第1章 项目管理失当 2010年5月1日

2010年5月1日:"敏捷的团队合作" 我用Scrum已经7年了,而后面6年我一直写关于它的文章.Scrum的概念太吸引人了--规则多变.自我管理的团队在短而固定的周期内周而复始地进行一系列小环节(或功能)工作,并不断提升水平.很多微软团队的成功都来自于此.让人犯昏的是高层的项目经理与团队层的Scrum工程师仍存在严重隔阂. 很多高层及中层的项目经理认为Scrum是混乱的.随意的.危险的并毫无意义的,会使大家对计划失去信心:而很多Scrum迷认为项目计划是种浪费,会引起混乱,毫无价值,

《逻辑与计算机设计基础(原书第5版)》——2.8 硬件描述语言简介

2.8 硬件描述语言简介 设计复杂系统和集成电路没有计算机辅助设计(CAD)工具的帮助是不行的.原理图输入工具(schematic capture)支持绘制模块和所有层次的互连.在原语与功能模块级,CAD工具提供了图形符号库(library).原理图输入工具通过生成层次模块符号和复用这些符号来构建层次结构. 库中的原语块和功能模块符号联合建模,允许对各个层次块的行为和时序,以及整个电路进行验证.这种验证是为模块或电路提供输入,利用一个逻辑模拟器(logic simulator)确定输出. 库中的

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

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

ROS机器人程序设计(原书第2版)第3章 可视化和调试工具

第3章 可视化和调试工具 ROS附带了大量功能强大的工具,帮助用户和开发人员可视化和调试代码,以便检测并解决软硬件问题.其中包括消息日志系统(类似log4cxx).诊断消息.可视化以及检测工具.这些工具展示了哪些节点正在运行和它们是如何连接的.   本章我们还会展示如何用GDB调试器调试ROS节点,介绍用于日志记录的API,以及如何设置日志记录级别.接着,我们将解释如何用ROS工具集检测哪些进程正在运行以及它们之间通信的内容.例如,在下图所示的系统可视化图中可以看到正在运行的节点以及用连线表示的

《算法导论(原书第3版)》一本章注记

本章注记 关于算法的一般主题存在许多优秀的教科书,包括由以下作者编写的那些:Aho.Hopcroft和Ullman[5,6],Baase和Van Gelder[28],Brassard和Bratley[54],Dasgupta.Papadimitriou和Vazirani[82],Goodrich和Tamassia[148],Hofri[175],Horowitz.Sahni和Rajasekaran[181],Johnsonbaugh和Schaefer[193],Kingston[205],Kl