论学习和掌握面向对象思想的重要性

提起面向对象,似乎已经是一个很out的话题了,C++、Java、C#等一众面向对象语言在很多领域中获得了广泛的使用。或许你恰好就在使用某种面向对象的语言,但你就真的确定自己理解并掌握了面向对象的思想了么?很多时候,你会发现,身边很多已经工作了一些个年头的人,依然未能很好地理解并掌握面向对象的思想。他们可能会一边谈论着类、对象、封装、继承、多态等一些面向对象的概念,一边使用面向对象语言进行着半面向对象半过程式的开发。这绝非危言耸听,而是实实在在发生在我们的身边。
只有从思想上足够重视,才能在行动上有所体现。下面就聊一聊面向对象思想的重要性,以及如何才能更好地掌握面向对象思想。

一. 面向对象思想的重要性

1. 它广泛存在于社会生活的方方面面

实际上,面向对象思想更符合人们的思维习惯,它也广泛地存在于社会生活中。我们每个人都是一个独立的个体,既有自身独特的一面,又具有人类共同的特性。我们所使用的每样工具,也都是实实在在的对象存在,我们使用它们,但并不期望要去知晓它们的工作原理以及制作过程。它普遍而又自然地存在于生活当中,却又极易被忽视。作为一种思想,它是需要抽象、提炼、总结的,这也许是造成对面向对象思想认知鸿沟的原因。不能否认的是,透彻掌握面向对象的思想,不仅仅对编程有益,还可以让你能更深入地理解所处的这个物质世界。

2. 它是理解和掌握面向对象设计原则和设计模式的基础

在面向对象编程的发展过程中,人们总结出了很多设计原则与设计模式,这些原则和模式可以指导编写出健壮、灵活、可维护、可复用的代码。面向对象思想是理解和掌握设计原则和设计模式的基石,只有透彻地理解了面向对象,才有可能理解到设计原则和设计模式的精髓。它们的关系如下图所示:

3. 它可以帮助你理解现有的代码系统

不管现有的代码系统是基于某个框架,或者是自身从零开始构建,面向对象的思想都可以帮助你更好地理解它。优秀的代码系统,大到顶层组件模块,小到每个类、类中方法和域的设计,都应该是符合面向对象特性的。掌握面向对象思想可以让你做到知其然并知其所以然。

4. 它可以帮助你编写出更优美的代码

在面向对象编程的时候,只有知晓如何编码是好的,如何编码是充斥着“坏味道”的,才可能编写出优美的代码。

5. 它可以帮助你理解重构技巧

虽然面向对象的分析与设计提倡在软件设计的各个阶段先建立模型,但是编码并不意味着仅仅是对模型的实现与填充。人们对事物的认知是一个由浅入深的过程,因此,提前设计与及时重构,才是更科学的软件设计方式。面向对象思想不仅可以帮助你做好提前设计,也能帮助你实现更好的重构,让你知道为何重构以及如何重构。

6. 它是你技术成长的必备技能

如果你的梦想不是仅仅做一个代码搬运工或普通的程序员,而是梦想成为架构师、CTO,你就必须熟练地掌握面向过程、面向对象、面向函数、面向服务的思想,它们是万丈高楼的根基。

二. 如何才能更好地掌握面向对象思想

归根结底,面向对象思想是一项技能,同掌握其他技能一样,只有理论结合实践才能更好地掌握它。

  • 理论
    学习一门理论有两种途径:别人传授和读书学习。第一种途径可以通过向身边优秀的人学习或是通过网络课程学习大师们的理解感悟。第二种途径就是自己学习优秀的相关书籍。最好的方式就是二者结合。
  • 实践
    学习的目的是为了实践,也唯有实践方能真知。为了能更好地掌握、运用,我们需要主动地设计更符合面向对象的类和系统,用面向对象的思想去审视、重构现有的系统。纸上得来终觉浅,绝知此事要躬行,唯有不断实践并总结,才能真正掌握。

三. 本专题文章的规划

本专题文章将围绕《面向对象的思考过程》、《UML用户指南》、《面向对象分析与设计》三本经典书籍中的内容总结展开。其中,在《面向对象分析与设计》一书中,提供了5个涉及不同问题域的案例,对训练我们使用面向对象思想进行分析与设计是有极大的价值的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,049评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,650评论 2 59
  • 周一的咖啡馆比较安静,人多的时候被吵得头痛,人少的时候又未免心慌。时间的流逝确实很快,不知不觉间又到了年尾。今年咖...
    海边的桃源阅读 189评论 0 0
  • 我的小名叫羔子。 羔:小的意思。一一没错,我是我们家的幺儿。 其实这个名字不是我的真正的乳名,是我的绰号,代表小儿...
    空中的梨子阅读 1,178评论 20 22
  • 很多年以前我喜欢在京沪铁路的路基下游荡,一列列火车准时在我的视线里出现,然后绝情地抛下我,向北方疾驰而去。午后一点...
    口袋中的阳光阅读 817评论 0 1