论坛首页 Java企业应用论坛

基于REST+CoC构建Java Web快速开发框架的架构思路

浏览 12795 次
精华帖 (10) :: 良好帖 (3) :: 新手帖 (5) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-05-12  
unsid 写道
sslaowan 写道
unsid 写道
那篇论文学术性很强,很多语言高度抽象,再加上翻译过程的语义损失,很难完全看懂
但是其在第五章才真正引入"表述性状态转移"这个"专门面向网络应用的架构风格"
这很让人怀疑这个论文的主要目的是引入一种新的架构风格还是强调架构风格及分析评估架构风格的重要性.

当然是后者了,你看题目。不过前面都是对后面的铺垫,我第一次觉得架构设计竟然也能像数学推导一样,觉得这种思路很好


这个论文需要有林巴斯他们几个在SEI写的那本软件架构风格的书作为基础才好懂,否则太抽象了.

我觉得还好,我是把里面的内容都映射到实际的东西上去了
0 请登录后投票
   发表时间:2009-05-13  
sslaowan 写道
我在我们应该怎样看待框架 中,实现了一个JDBC版的Base类,和一个Hibernate版的Base类,取模仿RoR的ActiveRecord,这样我们编程的时候,只需要实现一个Base的子类,就可以完成CRUD了。

 

事实上到现在为止,java还没有出现一个比较完整的类似ActiveRecord的库. 可以搜索出一些尝试,但是不是半途而废了就是数据库支持不完全.至于灵活的find机制,光靠目前的java真的很难实现.

0 请登录后投票
   发表时间:2009-05-13  
richyzhang 写道
sslaowan 写道
我在我们应该怎样看待框架 中,实现了一个JDBC版的Base类,和一个Hibernate版的Base类,取模仿RoR的ActiveRecord,这样我们编程的时候,只需要实现一个Base的子类,就可以完成CRUD了。

 

事实上到现在为止,java还没有出现一个比较完整的类似ActiveRecord的库. 可以搜索出一些尝试,但是不是半途而废了就是数据库支持不完全.至于灵活的find机制,光靠目前的java真的很难实现.

如果你能搜到我还自己实现干嘛啊~你如果读了我上篇应该可以看出,我是能用别人的就用别人的,当然了,那个别人得是比较可靠的

0 请登录后投票
   发表时间:2009-05-13   最后修改:2009-05-13
持久层方面,你可以参看 http://nutz.googlecode.com
它不需要你的类有一个 Base 类,你只需要一个 POJO 就可以了。
0 请登录后投票
   发表时间:2009-05-13  
sslaowan 写道
richyzhang 写道
sslaowan 写道
我在我们应该怎样看待框架 中,实现了一个JDBC版的Base类,和一个Hibernate版的Base类,取模仿RoR的ActiveRecord,这样我们编程的时候,只需要实现一个Base的子类,就可以完成CRUD了。

 

事实上到现在为止,java还没有出现一个比较完整的类似ActiveRecord的库. 可以搜索出一些尝试,但是不是半途而废了就是数据库支持不完全.至于灵活的find机制,光靠目前的java真的很难实现.

如果你能搜到我还自己实现干嘛啊~你如果读了我上篇应该可以看出,我是能用别人的就用别人的,当然了,那个别人得是比较可靠的

 

看见实现了insert, 勉强算CRUD中完成了一个create吧.

0 请登录后投票
   发表时间:2009-05-13  
zozoh 写道
持久层方面,你可以参看 http://nutz.googlecode.com
它不需要你的类有一个 Base 类,你只需要一个 POJO 就可以了。

我的Base实际上就是继承了泛型DAO,然后负责把它的子类setEntity到泛型DAO里,而Nutz的做法是由你来把POJO注册进DAO,这是我们之前的做法了。
0 请登录后投票
   发表时间:2009-05-13  
richyzhang 写道
sslaowan 写道
richyzhang 写道
sslaowan 写道
我在我们应该怎样看待框架 中,实现了一个JDBC版的Base类,和一个Hibernate版的Base类,取模仿RoR的ActiveRecord,这样我们编程的时候,只需要实现一个Base的子类,就可以完成CRUD了。

 

事实上到现在为止,java还没有出现一个比较完整的类似ActiveRecord的库. 可以搜索出一些尝试,但是不是半途而废了就是数据库支持不完全.至于灵活的find机制,光靠目前的java真的很难实现.

如果你能搜到我还自己实现干嘛啊~你如果读了我上篇应该可以看出,我是能用别人的就用别人的,当然了,那个别人得是比较可靠的

 

看见实现了insert, 勉强算CRUD中完成了一个create吧.

看第二页,我有一个Hibernate的版本,ActiveRecord extends Base extends AdvancedHibernateGenericDAO extends HibernateGenericDAO implements GenericDAO 


我们项目有一个自己的框架,后两个就是框架里的,HibernateGenericDAO 里面封装了几乎所有常用的数据操作,由于标准的QBE不支持关联,因此在AdvancedHibernateGenericDAO里我实现了一个findByAdvancedExampleWithCrition的方法,该AdvancedExample使用了movingboy实现,基本可以代替一般复杂的HQL。然后Base直接继承自这个DAO,里面写了如何将ActiveRecord子类注入到DAO中。 

0 请登录后投票
   发表时间:2009-05-13  
sslaowan 写道
zozoh 写道
持久层方面,你可以参看 http://nutz.googlecode.com
它不需要你的类有一个 Base 类,你只需要一个 POJO 就可以了。

我的Base实际上就是继承了泛型DAO,然后负责把它的子类setEntity到泛型DAO里,而Nutz的做法是由你来把POJO注册进DAO,这是我们之前的做法了。


你这个 Base 类就相当于 Nut 的 EntityService 类了。 对于 EntityService 类,你不需要 setEntity,比如你的 Entity 是 Dog ,你就可以这样写

EntityService<Dog> dogs = new EntityService<Dog>(dao){};  // dao 变量是个 com.zzh.dao.Dao 的实例。
Dog dog = dogs.fetch("XiaoBai");


0 请登录后投票
   发表时间:2009-05-13  
zozoh 写道
sslaowan 写道
zozoh 写道
持久层方面,你可以参看 http://nutz.googlecode.com
它不需要你的类有一个 Base 类,你只需要一个 POJO 就可以了。

我的Base实际上就是继承了泛型DAO,然后负责把它的子类setEntity到泛型DAO里,而Nutz的做法是由你来把POJO注册进DAO,这是我们之前的做法了。


你这个 Base 类就相当于 Nut 的 EntityService 类了。 对于 EntityService 类,你不需要 setEntity,比如你的 Entity 是 Dog ,你就可以这样写

EntityService<Dog> dogs = new EntityService<Dog>(dao){};  // dao 变量是个 com.zzh.dao.Dao 的实例。
Dog dog = dogs.fetch("XiaoBai");



汗,setEntity(dog)跟EntityService<Dog>不一样吗
0 请登录后投票
   发表时间:2009-05-13  
zozoh 写道
sslaowan 写道
zozoh 写道
持久层方面,你可以参看 http://nutz.googlecode.com
它不需要你的类有一个 Base 类,你只需要一个 POJO 就可以了。

我的Base实际上就是继承了泛型DAO,然后负责把它的子类setEntity到泛型DAO里,而Nutz的做法是由你来把POJO注册进DAO,这是我们之前的做法了。


你这个 Base 类就相当于 Nut 的 EntityService 类了。 对于 EntityService 类,你不需要 setEntity,比如你的 Entity 是 Dog ,你就可以这样写

EntityService<Dog> dogs = new EntityService<Dog>(dao){};  // dao 变量是个 com.zzh.dao.Dao 的实例。
Dog dog = dogs.fetch("XiaoBai");



或者更准确的,EntityService<Dog>和Dog extends EntityService结果是等价的,不过实现的就是不同的模式,实际上这样做的话,直接GenericDao<Dog>
0 请登录后投票
论坛首页 Java企业应用版

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