IoVC (Inversion of View-Control)IoVC是OperaMasks2.0中的重要概念,它令OperaMasks2.0有能力提出一种别树一格,结构清晰,简单易用的编程模型。在传统 MVC编程模型中,所有控制逻辑的最根本的发起点必然嵌入到展现逻辑中,或者说,控制层归根到底受控于展现层。 造成这种状况的根本原因是,一般情况下业务系统行为的实际发起者是系统用户,而展现逻辑是用户与系统的接口, 因此在系统内部顺理成章地充当了控制逻辑的发起者。这可能体现为 Structs 中的一条带参数的URL请求,或者是一个以动词命名的tag-lib标签,也可能是标准 JSF 中的一条EL表达式。不论其形式如何,只要这一点小缺口仍然存在, 传统的编程模型就无法将展现层与其它分层完全解耦,编写展现层的人员必须要了解业务模型与控制器接口, 以及与之相关的命名约定,数据类型,表达式语法等等各种知识。 再者,框架自身一旦打开了这个缺口,就无法提出一个清晰的编程模式,变相地鼓励了开发人员在展现层中滥用嵌入控制逻辑, 最终甚至成为了框架认可的编程模型。 为了补上这个缺口,OperaMasks2.0引入了IoVC——“视图控制反转”的概念。其意义在于,它允许用户把对“View(即展现逻辑)的控制力”注入到后台业务逻辑中。 从而在编写控制层的过程中,对View拥有足够的控制力,能够将展现层与业务逻辑完全的解耦。 展现层组件与对应的控制逻辑通过id进行绑定,OperaMasks2.0提供了功能强大的约定规则、Annotation、部署描述文件以及 API 等技术手段来支持IoVC。 |
||
| [上一页] [下一页] | ||
页面绑定LiteBean