《How Objects Work》第1章

第一章 面向对象:让软件开发变轻松的技术
面向对象是软件开发的综合技术,它涵盖从java、Ruby等编程语言到需求规格书和设计内容的图形表示、可重用的软件构建群、优秀的技术窍门、业务分析和需求定义的有效推进方、顺利推进系统开发的开发方法等软件的所有领域。
虽然面向对象的技术是软件开发的综合技术,但是经常会被认为很难理解,很难对付。也有人认为不擅长抽象思考的人,在学习面向对象时会感觉很难,要经过很多年才能掌握。造成这种困扰的主要原因是在混乱的状态去理解。让人产生这种混乱的原因大致归纳于三点:1、术语洪流(如继承、泛化、特化、超类、子类等);2、比喻滥用(如只强调比喻而不详细介绍编程语言的结构和目的,那么就只有比喻能留下深刻的印象);3、一切都是对象。这三种混乱增大了对面向对象的理解难度,不仅不能让人正确的理解该技术,反而容易引起混乱和误解,使其难以被看透。
另外面向对象技术的目的是使软件的维护和重用变得更容易,其基本思想是重点关注各个构件,提高构件的独立性,将构件组合起来,实现系统整体功能。