您的位置:首页 > 其它

面向对象学习记录(一)

2016-05-14 11:12 218 查看
首先得说说的经历,我是一个嵌入式软件开发工程师,属于偏底层的软件工作。大多是直接和硬件打交道。比如单片机啊,ARM啊等等。所以在我的心里,面向过程的是思想是根深蒂固的。在没有接触面向对象以前,总觉得面向过程是最好的,对面向对象是嗤之以鼻的。但在工作的过程中,慢慢的发现了C不能解决的问题,就是重用性。如果我们C的水平足够高,也许我们只要拷贝 和粘贴就可以了。但是在大多数情况下,是需要进行更改的。所以在工作的过程中,我也很苦恼直到我真正的认识面向对象的开发。这也是我真正开始学习面向对象的原因之一。但是现在我却感觉到很迷茫,因为我是学机械出生,后来再转战软件的。没有较为系统的学习过软件工程以及基础的知识。

在网上搜索过怎么学习面向对象开发技术,大多数无非是多写代码,多看别人的代码。后来我了解到了设计模式的概念,感觉好像这个就是我学习面向对象的稻草。学习了一部分后,还是感觉很茫然,因为不知道怎么设计类。以下的所有笔记将是我学习《面向对象分析与设计》 电子工业出版社 出版的学习笔记。

真的感觉面向对象是一个全新的世界。开始明白复杂。的世界其实也是由简单的世界组成的。比如计算机,当打开里面看到的是一堆密密麻麻的电子器件,是不是感觉到很复杂。但是我们稍加分析,你又会觉得没有那么复杂了。目前的计算机大多由CPU,存储器,显卡,网卡等组成。你看到的那么多的东西其实只是由这几种组件组成。是不是感觉每一那么复杂了呢。突然想到这个分类是不是组件的概念呢。然后CPU
又是友ALU,控制器等组成。而ALU最终是由门电路构成的(Nand门 和反相门)。可见无论多么复杂的东西,一开始都是一些非常简单的,我们能了解的方式构成。那我们编写的软件是不是也一样呢。在计算机这个构成里,你还可以看见一个很重要的东西,那就是接口。我们显卡坏了,直接换显卡,硬盘坏了直接换硬盘,而不用整个更换。没有部件坏了,我们只要买一个相同接口的部件换上,他就能正常工作了。把这种概念换到软件上,不就是针对接口编程吗。哈哈哈,突然自己也明白了接口原来还有这么多的好处。

在这其中还有一种层次结构,一个部分它又是其他很多个小的部分组成。比如说cpu,它有alu,控制器,存储器构成,而ALU又由很多的门构成。正是由于存在这样的层级结构,才让这个世界变得复杂又多变。发没发现cpu,内存条,显卡最终都是由门电路构成的呢。这应该就是普遍性及共性的部分。当这些最基本的,微小的单元,相互协作就构成了这个非凡的世界。而对于软件开发岂不是一样的吗?一个复杂的系统,当对其进行功能划分,在划分的时候,是不是会发现他没有想象中那么复杂了呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: