Web Framework分析

博客首页 » Web Framework分析

发布于 13 Jan 2014 07:56
标签 blog
Web有多种Framework,Ruby的ROR,Python的Django,PHP的Yii,JS的Backbone,Java的SSH等等,各有千秋,很难分出高下,但是各自的特点值得分析。

ROR

Django

Yii

Backbone

SSH

  • MVC分开
  • 可配置
  • 可扩展
  • 模板
  • 容器
为什么Java强调容器,而动态语言没有

Java的容器Spring主要承载了两个功能:

  • DI解耦
  • AOP

这两个功能在动态语言中是可以通过语言特性实现的。

对于DI解耦,就是通过构造方法或者设定方法插入功能的关联,使得耦合在运行时才确立。
这样的好处是,模块间的关联粒度变小,耦合度降低。可以进行小粒度开发,在整体开发未完成时进行单元测试。
动态语言,并没有强制的建模要求,所以不通过容器,也很容易实现解耦。

对于AOP,就是通过在Aspect的点上,Weaving进去代码,实现把与逻辑关系不大的公共功能,抽取到单独的模块里。
这样的好处是,功能模块简洁清晰,Aspect模块功能专一,可扩展。
动态语言可以直接对对象的方法重新设定,实现Proxy以及类似AOP的功能。


本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用,仅有一个特殊要求,请用链接方式注明文章引用出处及作者。请协助维护作者合法权益。


系列文章

文章列表

  • Web Framework分析

这篇文章对你有帮助吗,投个票吧?

rating: 0+x

留下你的评论

Add a New Comment