asta4d
文章平均质量分 85
iteye_15055
这个作者很懒,什么都没留下…
展开
-
友好的开发框架-Asta4D(1):为什么Asta4D
公司去年开源了一个WEB框架-Asta4D,这个框架用来支撑公司的服务网站,经过一年的开发,已经基本达到成熟的阶段了。问题是,在WEB框架汗牛充栋的今天,我们为什么还要开发一个新的框架呢? 我们本来是用Scala开发的,选择的开发框架是著名的Lift,因为种种原因,我们决定回到Java上来,公司的开发人员对Scala和Java本身没有太大的情绪,觉得各有优劣而已,但却一致同意Lift是我们用过...原创 2014-01-04 00:03:42 · 164 阅读 · 0 评论 -
友好的开发框架-Asta4D(2):可继承的模板与参数化嵌入
1. 可继承模板 asta4d的模板文件是可继承的,同时,子模板文件允许对父模板的指定位置进行覆盖,追加,插入操作。 我们来看,给定一个parent.html : <html> <head> <afd:block id="block1"> <link href="...原创 2014-01-04 00:04:03 · 123 阅读 · 0 评论 -
友好的开发框架-Asta4D(3):与模板分离的渲染逻辑
asta4d的模板文件中不允许任何动态代码,一个asta4d的模板永远是一个标准的html文件,任何前端工程师都轻松的维护asta4d的模板文件。这是asta4d最初设计思想的体现--对设计师友好。源于asta4d的这个特性,使得我们减少了至少90%前端重构的工作量。 1. 在模板中声明snippet class 下面是一个模板文件片段: <section> ...原创 2014-01-04 00:04:21 · 126 阅读 · 0 评论 -
友好的开发框架-Asta4D(4):方便,安全的Renderer以及可测试的渲染逻辑
1. 方便的Renderer 在Asta4D中,所有的渲染逻辑都通过一个叫做Renderer的类来声明,Renderer类提供了丰富的接口来帮助用户实现渲染逻辑: Renderer render = new GoThroughRenderer(); render.add("#someIdForInt", 12345); ren...原创 2014-01-04 00:04:51 · 110 阅读 · 0 评论 -
友好的开发框架-Asta4D(5):视图优先的URL映射以及变量注入
1. 视图优先 在Asta4D中,遵循的是视图优先(View First)的原则,而不是传统的MVC架构,URL规则声明不需要声明Cotroller,一个URL可以直接映射一个模板文件--视图优先:) Asta4D的URL映射规则不是通过配置文件来定义的,框架通过一组易于试用的API构建了一套DSL来帮助定义URL规则,也就是说,Asta4D的URL规则声明是可编程,相对于基于...原创 2014-01-04 00:05:17 · 157 阅读 · 0 评论 -
友好的开发框架-Asta4D(6):副作用与Request Handler
1. Http请求的责任人-Request Handler Asta4D虽然秉承View First的原则,但并不意味着在Asta4D中没有类似于MVC架构中Controller的存在,Request Handler可以看作是MVC架构中Controller的替代者。我们认为,对于每一个特定的Http请求,系统中理应存在一个角色对该请求承担责任,这个责任承担者,在Asta4D中,被称之...原创 2014-01-06 09:17:45 · 89 阅读 · 0 评论 -
友好的开发框架-Asta4D(7):Request Handler的实现与URL映射
1. @RequestHandler 实现一个request handler并不复杂,任意的java类,用@RequestHandler标记一个handle方法,就实现了一个request handler: public class LoginHandler { @RequestHandler public LoginFailure doLogin...原创 2014-01-06 09:22:35 · 203 阅读 · 0 评论 -
友好的开发框架-Asta4D(8):Content Provider与Request Handler Chain
(本来觉得到上一节,作为User Guide的内容应该就是足够了,不过后来觉得这部分内容也补充进来更完整一些。。。) 前面曾经提到,在一个URL映射规则中,可以配置多个request handler,这些handler就构成了一个request handler chain,在解释chain的流动规则之前,我们需要先说明另外一个概念: Content Proiver。 1. Co...原创 2014-01-16 22:17:54 · 146 阅读 · 0 评论