本栏目的宗旨,是从一个对计算机基础知识、程序语言、系统设计等等一无所知的新人状态入手,将计算机专业相关课程,通过一次完整的产品设计,完全贯穿于其中。学以致用,以期能够带给大家最佳的学习效果。
既然是从”零“开始,那么我们就需要一种语言来描述我们所设计的内容。如果是对计算机编程稍微有所了解的同学,一定会觉得,我们是不是要学习C语言?C++?或者是Java?
我今天的回答是:“都不对!我们今天学习的,不是任何一门具体的编程语言!“(具体原因,感兴趣的同学,可以参考我的另外一篇文章《Coder or Designer?——我是骄傲的设计师》)。
既然我们的目的是“设计”Android系统,那么我们用到的最重要的语言,就应该是一门“设计语言”,而非大家所经常听到的“编程语言”。那么,这门语言到底是什么呢?它就是UML(Unified Modeling Language)——统一建模语言。
UML的常识性介绍,我就不再赘述了,大家可以查阅百度百科,那里有详细的介绍。我只说一些我的理解:
1、何为建模?建模,是将一种“世界”当中的内容,用另外一种“世界”的语言描绘出来的过程。(本文中,关于世界的理解,我们生活在真实的世界,我们将接触的是一个计算机的世界,我们接下来将畅游在一个设计思想的世界当中……)
2、为什么有“统一”二字?这个大家可以翻阅百度百科的历史,在UML之前,有过很多的设计语言,经过时间的洗礼,最终留下了目前使用的这一种,最终被命名为统一建模语言。
光有语言,是否就可以了呢?显然不是,就像我们讲话一下,会说中文,并不代表你可以说出漂亮的句子。语言,意味着“能说”,而其背后的思想,则指导我们”说什么“。
由于本人的经历以及我们接下来要设计的系统的原因,我们选定了“面向对象(OO,Object Oriented)“这一设计思想。
与UML一样,我这里不再对OO进行常识性的介绍,仅说明个人的一些理解,以辅助大家快速了解这一思想:
1、面向对象是一种非常接近自然的思维方式;
2、面向对象是一种分析问题的工具,有助于将思路整理的更加清晰;
3、在当代的软件设计当中,大量运用了面向对象设计思想。
好了,大家应该对UML和OO有了一定初步认识了。关于如何学习UML和OO,我将在后面的文章当中,详细讲述。