上图是经典MVC模式, 通过将软件结构分离为Model, View, Controller三层, 在Controller负责对请求的转发以及与Model 层的交互, 而View层则只负责屏幕元素的展现功能, 不关心具体的业务逻辑实现.
而在WDA实现中, 是一种修改后的MVC模式, 它没有具体的Model对象, 而是采用如Function Module , Class Method作为业务逻辑的封装. 如图:
WDA整体架构基于Component模型, 可以认为一个Component负责一个具体业务, 它可以通过Component interface调用其它组件提供的功能. 在Component内部,有Window, View, Controller组成. Window可以认为是应用的屏幕交互元素的容器, 它可以包含多个View, 而View中则是包含了具体的屏幕元素的定义,譬如其元素布局与赋予按钮的事件处理方法等. 而在Controller中则负责处理与屏幕元素的交互, 调用模型层业务逻辑等功能.