论坛首页 Java企业应用论坛

Warp framework - 一个相当有前途的Java轻量级Web开发框架

浏览 55917 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-03-14  
秦始皇小时候家里穷,玩的东西很少,不过也算玩过积木,就说它吧
一个个积木是不同的,放在不同的口袋里,他想堆一个长城
但是长城好长,不容易一下就想清楚,于是我在地板上画了图,
图上表示了如何一个个积木组装起来。由于长城好长,从山海关到加疫关
于是地上的图也很长,后来秦始皇觉得自己一个人堆长城很有难度,于是就
自己搞定出一个方案,让农民工去建造
--------------------------------------------------
rod j以前玩C++的,玩Java很少,不过也算知道javaBean,就说他吧
一个个javabean是不同的,放在不同的package里,rod想写一个系统
系统很大,不容易一下想清楚,于是在xml上写了一些表述
xml上描述了如何一个个bean的组装过程,由于系统好大,从用户登录到用户积分
于是xml上的内容很长,后来rod觉得手工组装很难,于是就自己
搞定出一个方案,让程序去组装

所以说ioc本身出发点很简单的


0 请登录后投票
   发表时间:2008-03-19  
manmoon 写道
零配置是没了,都转向硬编码了,我看不出annotation 比配置文件好到哪里。

0 请登录后投票
   发表时间:2008-03-19  
wuyingsong 写道
manmoon 写道
零配置是没了,都转向硬编码了,我看不出annotation 比配置文件好到哪里。



首先要确认一点是什么是配置文件,哪些东西才是配置,像hibernate对象关系映射这种东西有人会在运行时修改吗?

没有的,这种东西就应该以更接近代码的形式出现,annotation的意义就在于此。
0 请登录后投票
   发表时间:2008-03-21  
Norther 写道
wuyingsong 写道
manmoon 写道
零配置是没了,都转向硬编码了,我看不出annotation 比配置文件好到哪里。



首先要确认一点是什么是配置文件,哪些东西才是配置,像hibernate对象关系映射这种东西有人会在运行时修改吗?

没有的,这种东西就应该以更接近代码的形式出现,annotation的意义就在于此。

支持这个,老早就对JAVA的官僚反感了。
JAVA开发者老是会假定出很多在实际运行中根本不可能出现的变化。
struts在这方面实在是太明显了。
这么多的view配置了做少,难不成在产品发布后还有人去改jsp路径?
0 请登录后投票
   发表时间:2008-03-23  
光说不练假把式。我自己根据这个想法实现了一个基于Guice的rest框架。
@Resource("foo/{foo.id}")
public class Foo {
  @Inject public Foo(@RestParam("foo.id") String id) {
     ...
  }
}

new ResourceBinder(binder()).bindResource(Foo.class);
bind(ResourceLocator.class).to(GuiceResourceLocator.class);

class FooAction {
  private final ResourceLocator resourceLocator;

  public String run() {
    Foo foo = resourceLocator.getResource(request.getPathInfo(), Foo.class);
    ...
  }
}


嘿嘿,为什么没有@RestMethod之类的?因为我没想明白为什么rest method和资源定位不是正交的。拿到了Foo之后你怎么处理完全是自己的事情了,和框架可以毫无关系了。这样不是比框架大包大揽更好?

好处呢?简单,完全的依赖注入,除了这些rest参数,你可以注入任何Guice里面的依赖。

0 请登录后投票
   发表时间:2008-03-24  
对于SSH
更期待简洁
0 请登录后投票
   发表时间:2008-03-24  
一把新的瑞士军刀。你需要重新习惯它才能使用....

0 请登录后投票
   发表时间:2008-03-24  
Warp-persist提供了声明式的事务管理,终于可以取代Spring了

难道spring就没有声明式事务管理? 别动不动就取代,spring提供的远不止Ioc,DI,
spring  可以将第三方好的框架都集成到应用中,提高开发效率,这是很重要的。
0 请登录后投票
   发表时间:2008-04-18  
ajoo 写道
robbin 写道

我不这么看。这个ViewBlog类似Webwork的Action,本身是prototype的,每次请求创建,为啥就不能有状态呢?就是RoR的controller也是一样,每次请求创建controller实例。

再说@Event,这个就是Webwork里面的Interceptor的东西,起到AOP作用的,在RoR里面也有类似的Filter概念,没觉得加一个@Event怎么会复杂。

不过话说回来,在ViewBlog这个具体的例子当中,使用@Event的方式来初始化数据,的确没有必要,例子举的不恰当。

状态不可怕,可怕的是状态变迁。这个例子里面,就涉及了before initialized和initialized两个状态。而且优先使用immutable也是基本的best practice吧?Guice也是强调constructor injection的。

interceptor不会有状态变化,所以无所谓。要说这个,更象servlet的init(),老掉牙很丑陋的东西。


ajoo同志深得我心,我批OperaMask的IoVC的那个例子的@BeforeRender也是同样的理由啊,可惜有人老是说我不懂JSF的6种phase云云。。。
0 请登录后投票
   发表时间:2008-04-27  
不要下太大的结论吧?
取代是不可能的,存在就有理。
当然新的东西是可以尝试的,我们公司还使用oracle forms进行开发,当然是数据仓库和模型的架构决定的!
相信spring 3.0出来了,很多问题也会有相应的解决,期待更好的解决方案。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics