OAF 常见概念介绍
因为OAF开发的适用面很窄,所以即使OAF开发采用的也是MVC设计模式,但是很多用语都没听过。随着OAF开发的深入学习,如果不熟悉很多专业用语,是很困难的。
此外,OAF开发中面向对象的重用,官方给出的洋葱图如下:
对象名 |
作用 |
父类 |
备注 |
EO:Entity Object |
EO封装业务规则、业务逻辑 EO完成对数据的实际的增、删、改动作 EO提供贯穿多个应用的持续的数据验证 |
OAEntityImpl |
EO偏重于对数据库对象的操作 |
AO:Association Objects |
定义EO之间的关联 |
|
|
VO:View Object |
VO封装了一个数据库查询 VO提供对查询结果集的循环遍历 VO可以基于EO创建也可以基于SQL创建 可通过VO来对EO的属性值进行get或者set |
OAViewObjectImpl |
VO偏重与数据提取后与UI的展现和再交互 |
VL:View Link |
定义VO之间的关联 |
|
|
AM:Application Module |
AM 作为一个管理容器而存在,为相关(这些对象共同完成一个相同的任务)的BC4J对象提供容器服务。 AM为事务处理提供上下文环境。 AM创建数据库连接。 AM间可以进行上下级嵌套(一对多) |
OAApplicationModuleImpl |
AM偏向于事务控制。 |
CO:Controller Object |
CO 可以控制UI行为 CO可以处理GET/POST请求 任何实现OAWebBeanContainer的web bean都可以与控制器关联,如:Region |
OAControllerImpl |
控制器响应用户动作,控制应用流转。 |
PG:OAF Page |
PG是xml文件,通过树型结构描述了页面上的UI顺序,指定了需要调用的AM、VO和CO等BC4J对象 PG可作为独立功能来进行指定调用 |
一个经典的OAF页面由PG、RN、ITEM组成。RN、ITEM的顺序决定在PG的布局。由于OAF是由XML经渲染成的HTML的。因此,很难在标准的OAF功能客制化开发。 |
|
RN:OAF Region |
RN 是XML文件,其作用与PG类似,区别是其可以被PG或者其他RN引用调用,而不能被独立功能调用。 其最大优点就是可以被多个PG作为共用组件共享调用。 |
|
|
ITEM |
是OAF页面最小的构成组件 |
|
|