曾经不只一位朋友问过我这样的问题,当时由于时间问题,所以也就草草的问答了他们.
是啊,对于刚接触框架,或者刚听到框架的人来讲,都会有这样的疑问,当时我也是这样.那时还在学校时,同学小黑是最早接触框架的一个人,经常在我们面前大肆宣传框架的魅力,对于从来没有接触过框架的我来说,也只能听得一头雾水.
后来又进入了现在的公司,所以就接触了框架,慢慢的,做的项目多了,也就自然而然的感觉到框架的好处了.
在回答我们的主题之前,我们首先来讨论几件大家常发生的事情.
如果现在要开始一个新的项目,那么第一件事应该是去规划文件目录,应该设几个目录,什么样的文件应该放在A文件夹下等等这类的问题,或者就为这一问题,就要折腾老半天.又在写代码时,代码中的结构又怎么在目录中体会出来,这个我们可能又会想一阵子,这样一来,就会花大部分时间来想这样问题,就算把这些问题已经处理完毕.如果那一天,好好运行的系统出了问题,而这里你又不在,你的同事需要从修改你这个系统的bug,在他知道系统出什么样的问题的前提下,他很难第一反应就知道这样的错误在哪个文件里.
如果在公司内部,对于文件目录的建立有一套标准,类库应该放在什么文件中,模板应该放在什么目录中,数据处理和逻辑控制又应该放在什么目录中,我想这时候刚才修改系统那会同事应该会轻松很多.
如果现在要更多的事情确实下这样的规定,即怎么把一个抽象的业务分解到不同的目录中的不同的文件中去实现.如果这件事确定下来了,那位同事应该会更加轻松.
如果能把公司内部的代码风格,类之间的的联系方式建立起规范来,我想这对于各位同事来讲,是多么好啊.
如果定义一下约定如下:
所以的模板文件放template目录中,所以的数据处理程序放models中,所以的控制程序放controllers中.
那么当公司提出新用户在注册里,老是注册成功了,而登录则提示用户名不存在,对于这样的一个BUG,如果按照公司的目录结构,出现问题的文件应该放是controllers和models中的register文件,要么是controllers中的register中出现了逻辑错误,要么是models中的register在处理数据和库之间的关系时出现了问题,所以有了我们先前所定义的一套约定,可以很容易的把出现BUG的文件锁定到这两个文件,从而大大提高了我们的效率.
你可能这里会说,是啊,我平时也是这样的啊,这个和框架有什么关系吗?呵呵,其实啊,刚才我们一步一步的讨论的这个问题,就是一个框架雏形形成的过程,这里要是你在我面前,绝对是两眼瞪着我,一言不发——傻了(呵呵).
是的,这个约定就是我们的框架,我们的所有活动都必须要遵循它.框架就是一个我们必要遵循的标准,按照同一套标准出来的代码,绝对是给人一种统一规范的感觉.
那么框架有什么好处?
天呀,上面的我白写了啊,那我问你,
框架是什么?
框架是标准.
那么标准有什么好处?
标准的好处是….哦,就是提高维护性,增加可操作性,降低成本.
那现在你知道框架有什么好处了吗?
哦,知道了..
所以为了建立统一的标准,就出现了各种各样的框架,当该框架如果在全世界都在使用时,那就相当于标准全球化了,大家可想,一个全球化的标准,会给我们带来多少好处.
机器人 2008-5-4 22:29 于 北京 (今天是青年节,公司好不容易给放了半天假,回家经过学院路,遇上了堵车,所以差不多3/1的时间都给献上了,哎! 北京的交通)