WDA Architecture

忙了一阵子, 把我学习WD的计划打乱了,今天终于有点时间可以开学了, 先转篇网文先.

 

原文地址: http://moonroom1.spaces.live.com/blog/cns!7578AFCD9C32F7B1!443.entry

 

Web Dynpro ABAP 系列: WDA Architecture (1)

image

上图是经典MVC模式, 通过将软件结构分离为Model, View, Controller三层, 在Controller负责对请求的转发以及与Model 层的交互, 而View层则只负责屏幕元素的展现功能, 不关心具体的业务逻辑实现.

而在WDA实现中, 是一种修改后的MVC模式, 它没有具体的Model对象, 而是采用如Function Module , Class Method作为业务逻辑的封装. 如图:

image

WDA整体架构基于Component模型, 可以认为一个Component负责一个具体业务, 它可以通过Component interface调用其它组件提供的功能. 在Component内部,有Window, View, Controller组成. Window可以认为是应用的屏幕交互元素的容器, 它可以包含多个View, 而View中则是包含了具体的屏幕元素的定义,譬如其元素布局与赋予按钮的事件处理方法等. 而在Controller中则负责处理与屏幕元素的交互, 调用模型层业务逻辑等功能.

 

http://moonroom1.spaces.live.com/blog/cns!7578AFCD9C32F7B1!446.entry

Web Dynpro ABAP 系列: WDA Architecture (2)

WDA Component

一个WDA component可以分为对外与对内两部分, 外部component如果要使用此component提供的服务,不能直接去调用,而是通过如Interface controller, Interface view来实现.

Controller中一般包括Context, Attribute. 这两者都可以持有数据, 不同之处在于前者是大多用于对于UI元素的属性绑定, 类型为结构或表类型. 而后者类型还可以是对象引用类型.

Window中可以包含多个view, view之间可以定义导航链接. 而且在view中可以定义view container element, 在其中包含其它view.

WDA中比较有意思的是可以在Controller中自定义事件,  这样可以注册事件处理器到事件上. 而这种机制也用在了Component的重用上. 比如Component B使用Component A时, 可以在B中定义方法作为事件处理器注册到A上. 这样,当在A中事件触发时, 系统就会调用B中的方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值