Loading...

    AD: 猛买网,精彩团购 | Jobsdigg | 很棒的男装店 | 网站地图

设计一个Web开发框架

可任意转载,但必须在醒目位置以超链接形式标明文章原始出处和作者信息
原文地址:http://www.blogkid.net/archives/2580.html

入职3个月,参与的第一个大项目已经上线。于是开始思考对现有Web开发框架的改良,或者考虑另起炉灶搞一套。思考的过程中形成一些想法,现记录下来。

  1. 没有用过Rails的话,大概会想到把一切业务都抽成配置;使用过Rails后,更推崇约定大于配置。
  2. 约定大于配置,不仅体现在分发的过程,也体现在类、方法的命名,更重要的是贯穿在框架中的思想。不管是维护一大堆配置文件,还是维护一个庞大的配置文件,都不是个好主意。实际上,大多数配置都可以被约定的。
  3. 分发:对业务简单的页面,进行一次分发足够了;对业务复杂的页面,可能需要进行第二次基于业务的分发。应当假设框架不了解具体业务,但要保留二次分发的灵活性。
  4. 框架应该做多少事,是个需要拿捏的问题,过度设计非常容易。一个框架的目标不是把代码用配置来代替,也不是把代码用约定来代替。
  5. 引入AOP的机制很有必要。过滤器能帮忙做许多事,使真正业务部分的逻辑更清晰。
  6. 高来高去一通,其实最大的问题还没说。开发过程中发现,每次请求后台服务和向模板传递变量时,总会遇到数组中字段名称不一致的问题。可能后台给了一个trans_id,但模板需要user_trans_id,于是程序很多时候都在做“改名”。要解决这个,还得靠约定。

自己思考并设计一个框架的过程中,更加觉得Rails妙不可言,推荐没有使用过Rails的Web开发者关注下。

3 Responses to “设计一个Web开发框架”


  1. 为什么语言写框架啊?php就好啦,我能看懂些

  2. 2linsk

    rails真的很不错..

    从经济效益方面出发是不是该选择django这类效率高的框架呢?

  3. @linsk
    对效率的比较可以从两个方面,开发效率和运行效率.
    开发效率对应的代价是人的代价;运行效率对应的代价是服务器的代价

    在一般的企业里或项目中,人的代价都比机器大很多.

Leave a Reply