http://partech.blogdriver.com/partech/1217744.html
  partech基于AspectJ对于AOP的深入应用作了一些有益的探索。ORM的价值之一正在于通过ORM引擎对于对象上的局部操作作出持久化诠释(参见 面向对象之形式系统 )。在partech的方案中,对象删除操作(destroy)的引入显得有些勉强:因为我们需要标记一个删除的时刻,所以调用了一次空的destroy()方法。但是如果在事件驱动的应用场景中,调用时刻唾手可得,这样的问题便很少出现了。
  我个人所关心的方向主要是框架层面上对于AOP概念的应用。在Witrix平台的BizFlow方案中,借助于框架技术的支撑,我们甚至连new和set调用都不需要,例如在biz文件中只需要声明相应的事件响应函数,框架负责生成界面从用户处收集信息,负责创建对象,负责执行保存和删除操作:no new ,no set, no save, no load, no remove.
java 代码
 
  1. 〈Add-default
  2.    〈source〉
  3.      do anything on entity to be added  
  4.    〈/source〉
  5.  〈/Add-default>
  6. 〈Remove-default〉
  7. 〈/Remove-default〉

  8. 〈ViewDetail-default〉
  9.     〈source〉
  10.         entity is accessible here  
  11.     〈/source〉
  12.  〈/ViewDetail-default〉

BizFlow的实作中是实现为DaoWebAction的一个interceptor。
评论
canonical 2006-12-10
BizFlow并不是一种通用的语言级别的技术,它属于Witrix框架技术的一部分。在前台选中一个实体,对它进行操作的时候,提交到后台会触发BizFlow中的某个Action。如果是删除操作,则缺省会调用到Remove-default段. 可以把BizFlow里所描述的看作是事件响应函数,删除时刻是由用户的操作所标定的.
如果在删除操作前后做一些事情,则
<Remove-default>
<source>
do something before remove
<biz:Proceed/>
do something after remove
</source>
</Remove-default>

如果没有调用<biz:SkipProceed/>,例如Remove-default段里不写任何代码,则缺省情况下会执行最终的数据库操作,这与一般的AOP调用是不同的,也是我所谓偏置的含义.
partech 2006-12-07
没看明白你是如何实现关于获取删除时刻的,能否详细些?
发表评论

您还没有登录,请登录后发表评论

canonical
搜索本博客
最近加入圈子
存档
最新评论