程序员的模型思考

今天谈到的话题和编程没有太大的关系,会涉及少量的代码。但是我认为这是一个极其重要的过程:程序模型化。

这个概念是我自己觉得不错,才这样叫。这里整体用一个例子来具体说明。比如,我请你回答一下web的工作流程,更具体的说,从用户在网页上点击一个链接开始到最后页面显示出来,中间大概经历了那些事情?你改怎么回答。

我见过这么回答的,我点击,服务器会知道我点击的什么,然后他会返回给我整个的html,然后浏览器把它显示出来。可以说大概的流程没有错,如果再细化下去呢?他就不清楚了。这时候我推荐的方法是模型化。当我说用户点击一个链接的时候,我们可以在大脑中构想一个浏览器(比如chrome),然后上面有一个链接(比如 Iteye),这时候我们的鼠标放在上面做点击动作。当我说服务器介绍的时候,我们在大脑中构建一台一直服务的服务器,突然接受到一个请求时的样子,比如说一个正在转动的圆环,有一滴说落在上面,但是这块会有些断层,我们后面解释。当我说,服务器处理的时候,立即构建这样的一个模型:又有一滴水从滴入的地方飞出。然后紧接着浏览器接到了一样东西,浏览器内部处理后,显示出来。这就是整个一个流程。

刚才说到了断层,怎么理解?从构建浏览器模型到服务器模型中间没有多大关系。当我们有这个断层的时候,先记住他,不要影响下面的模型。等我们分析完了,再处理断层,浏览器怎么找到我们的服务器的呢?原来是请求DNS(有一段概率),在时候再构建请求DNS服务器的模型。

你会发现,最初的模型虽然不完整,但是经过我们后面不断构建的断层模型,整个流程已经非常清楚了,这好比是盖楼房,先把架子搭起来,然后再往里面填砖头。

不知道你是否明白了我的意思。如果你明白了我的意思,那你尝试着说一下,URL的组成。看看时候能够正确的运用。

这个概念就先说到这里。构建模型有利于我们理清思路,无论是学习新知识,还是讲解。

猜你喜欢

转载自zhangfortune.iteye.com/blog/2028636