一切都是对象|对象编程思想及必备基础知识(下)

一切都是对象|对象编程思想及必备基础知识(上)

一切都是对象|对象编程思想及必备基础知识(中)


图片来自网络


前两篇文章主要介绍了面向对象编程的哲学依据、核心思想以及基本特性。本文主要介绍入门面向对象编程要学习掌握的一些基础知识,并且推荐几本书。

统一建模语言(UML)

写程序离不开开设计,就如同建房子,谁都不会一上来就开始垒砖头。在建房子之前,设计师得先根据客户的需求设计房子的结构、功能、布局等等,并且要绘制标准的图纸,这样建筑工人才能拿着图纸开始建房子。编程也一样,首先得分析客户的需求,然后再根据需求设计软件的构架,这个构架需要使用标准的语言进行描述,这就像标准的图纸,如此程序员才能根据图纸往上垒代码。

这个标准语言就叫做统一建模语言(Unified Modeling Language,UML),它是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言。简单一点理解,它就是软件的图纸。

UML包括的内容非常多,这里仅简单地介绍一下。前面说了第一步要对客户需求进行分析,UML提供了用例图,用于软件的功能需求分析。用例图主要包含两个元素——参与者和用例。参与者用小人表示,用例用椭圆表示,参与者和执行者之间的关系用箭头表示。用例图主要反映了从参与者的角度看,系统应当向外暴露哪些功能,并不反映系统内部的结构。进行用例分析时,最重要地就是区分参与者和用例。

除了要进行功能需求分析外,还要对系统的动态行为需求进行分析,UML提供了“活动图”,活动图中最重要的两个元素是甬道和活动,甬道往往用于表示实际执行活动的对象,活动的执行有一定的流程和逻辑,这类似于面向过程编程中的流程图。

完成需求分析后就开始设计软件的构架,这包括静态模型和动态行为,静态模型包括组建图、类图等等,动态行为包括状态图、时序图等等。程序员要和这些图直接打交道,掌握它们很重要。但这些图比较复杂,不是三言两语就能说的清的,请阅读相关的书籍。

设计模式

软件设计最核心的一个理念是区分“不变”与“变化”,这样会有利于软件后期的维护和升级。“变化”就是意味着将来可能需要修改或者升级,在设计时一定要将这部分程序小心地隔离出来。将来要修改这部分程序时不用担心牵一发而动全身,这样的软件才叫做构架良好的软件。

区分并隔离“不变”与“变化”是需要大量的编程经验的,对于新手而言,在没有经验积累的基础上,如何才能设计架构良好的软件?这并不是做不到的,因为前人已经为我们总结了大量的经验,并归纳出许多设计原则,这就是设计模式。

这些设计模式就是代码模板,我们可以直接拿来用,我们要做的只是将我们的具体问题套进去就行了。设计模式也许多种,建议阅读相关书籍进行学习。

书籍推荐

这里仅根据我自己的学习过程推荐书籍,但不一定是最好的书籍,也不一定适合所有人,还请根据实际情况选择。

(1)谭浩强,清华大学出版社,《c++程序设计》

(2)侯俊杰,华中科技大学出版社,《深入浅出MFC》

(3)Bruce Eckel,机械工业出版社,《java编程思想》

(4)Eric Freeman,东南大学出版社,《深入浅出设计模式》

(5)谭云杰,水利水电出版社,《大象-Thinking in UML(第二版)》

在学习编程时,建议精读,不要坐这山望那山,所以就推荐这几本了。


面向对象编程思想的介绍到此就结束了,欢迎大家交流讨论。

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

推荐阅读更多精彩内容