面向对象是怎样工作的(第3版)
上QQ阅读APP看书,第一时间看更新

推荐序1

“面向对象是怎样工作的?”

大家会怎样回答这个问题呢?也许有人会说“可以进行封装”“能提高可重用性”“可以使用框架”等,或者给出诸如“面向对象在编程中已经很普遍了”“面向对象什么的已经过时了”等回答。可能还会有人回答“面向对象在分析和设计等上游工程 1 中的应用才重要”“如果不了解面向对象,敏捷和测试驱动开发就无法推进了”。

1在日本,业界通常把软件开发的前几个流程称为“上游工程”,主要包括需求分析、基本设计和功能设计等几个阶段,而后续流程则称为“下游工程”。由于没有对应的中文叫法,所以本书只是对这些术语进行了直译。——编者注

本书的目的就是明确回答该问题。

到目前为止,面向对象的书都偏重于过于简单的“理想观点”,而本书将基于开发现场的“实际观点”对这些书的内容进行补充。面向对象是具有实践性的思想,现在需要的是“能够使用的面向对象”,而其关键就存在于软件开发的历史中。通过阅读本书,大家就能够理解为什么面向对象作为一种编程技术,会影响设计阶段和分析阶段的工作,甚至整个软件开发流程。

在学习面向对象的过程中,我自己喜欢将面向对象的设计总结为一些“模式”。在一次活动中,我遇到了作者平泽先生。平泽先生告诉我,为了将想要解决的现实问题整理为易于理解的形式,建模是非常重要的,而且无论多么难的项目,重视人与人之间交流的开发现场都是非常重要的。平泽先生一直很重视实用性,因此,相比其他技术书爱用漂亮的技术术语和晦涩高深的表达,本书更注重“是否可以实际使用”“这是为什么”等实际问题。

通过阅读本书,大家应该可以从 Java、Ruby 和 Python 等编程语言,以及使用 UML 的设计等面向对象的“表象”中探索到更加朴素的“本质”。理解表象对解决实际问题基本上没有什么帮助,希望大家把自己成长的目标设定为能够在实际项目中大展身手的工程师,并朝这个目标迈出自己坚实的一步。

 

Eiwa System Management 公司董事长
平锅健儿