`
canonical
  • 浏览: 360194 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AOP之透明持久化

阅读更多
  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> 〈source〉</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>  〈source〉</source>
  10.         entity is accessible here  
  11.     〈/source〉
  12.  〈/ViewDetail-default〉

BizFlow的实作中是实现为DaoWebAction的一个interceptor。
分享到:
评论
2 楼 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调用是不同的,也是我所谓偏置的含义.
1 楼 partech 2006-12-07  
没看明白你是如何实现关于获取删除时刻的,能否详细些?

相关推荐

    spring-framework-4-开发手册.pdf

    Spring Framework 是一个轻...Spring Framework 支 持声明式事务管理,通过 RMI 或 Web 服务远程访问你的逻辑,并支持多种选择持久化你的 数据。它提供了一个全功能的 MVC 框架,使您能够将 AOP 透明地集成到您的软件。

    Spring Framework 开发参考手册

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    Spring-Reference_zh_CN

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    Spring2.0开发参考手册

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

    spring2.0中文开发参考手册

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

    Spring2.52 开发手册

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    第24次课-1 Spring与Hibernate的整合

    它只要获得SessionFactory的引用,就可以智能地打开Session,并在持久化访问结束后关闭Session,程序开发只需完成持久层逻辑,通用的操作则由HibernateTemplate完成。 24.3 Spring对Hibernate的简化 24.3.2 简化的...

    Mnemosyne-开源

    Mnemosyne是Java的内存对象数据库。 它使用AOP实现透明的持久性,并使用对象级别的版本控制和锁定来提供ACID事务支持。 数据通过事务日志记录和定期的系统快照持久化

    领域驱动设计与模式实战

    9.3.1 高级持久化透明 9.3.2 持久化实体的生命周期所需的特定特性 9.3.3 谨慎处理关系数据库 9.4 分类 9.4.1 领域模型风格 9.4.2 映射工具风格 9.4.3 起点 9.4.4 API焦点 9.4.5 查询语言风格 9.4.6 高级数据库支持 ...

    Spring-Reference_zh_CN.rar_spring 3 zh chm_spring mvc_spring ref

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    spring2.5开发手册

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    Spring2.5 Framework 开发参考手册中文版

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    spring-framework-5-0-0-m3-zh_cn

    Spring Framework 是一种轻量级的解决方案,是构建你的企业级应用程序的潜在一站式解决 方案。 尽管如此, Spring 是模块化的,允许你只...它提供了一个全功能的 MVC 框架,并使你能够将 AOP 透明地集成到你的软件中

    spring2.0开发手册

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

    Spring2.5中文版.zip

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    spring 帮助文档(chm格式)

    Spring为 已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明式事务管理, 通过RMI或webservices远程访问业务逻辑,mail支持工具以及数据库持久化的多种选择。 Spring还提供了一个MVC应用框架,可以...

    spring2.0开发参考手册

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

    Spring面试题

    2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个...

    SPRING2.0中文帮助文档

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

Global site tag (gtag.js) - Google Analytics