Loading...

Tag Archive for 'framework'

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

设计一个Web开发框架

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