(翻译)UIP Application Block学习系列 ( 四 ) UIP Application Block的设计目标
UIP Application Block可以帮助您:
l 从你的用户界面中抽象所有的导航和工作流代码
l 可以在不同类型的应用程序中使用相同的编程模型
l 从用户界面中删除所有的状态管理
l 通过进程持续对状态进行快照
下面将详细讨论上面的各项:
从你的用户界面中抽象所有的导航和工作流代码
一个应用程序的工作流是一个业务过程,不是一个用户界面过程,所有它的控制应该放在表现层以外。代码抽象也可以帮助你更容易的维护和扩展现存的应用程序。
UIP Application Block从表现层中抽象出工作流代码到用户界面进程层。作为工作流内的导航它并不硬编码 UI元素,如果流程或者你的应用程序出现变更,则你只需要重写进程,而不是进程中的UI元素。
使用一个编程模型
你可以先为内部用户创建一个winform应用程序,然后再为外部用户创建一个web应用程序。你可能开发了一个web应用程序但是不久又要把它变成windows应用程序。如果你为不同类型的应用程序使用相同的编程模型,你就可以更容易的在它们之间进行转换。
使用UIP Application Block,你可以确定所有的导航和工作流代码都在UI之外。这就允许你添加一个新的View而重用现存的应用程序。
从用户界面中删除所有的状态管理
在许多应用程序中,状态是存储在 UI层的。这就表明需要复杂的代码来存储,访问和操作状态。另外,状态是依靠UI类型的,不同类型的应用程序有不同的传输方式。
UIP Application Block从UI中抽象出了状态,把它存储在一个一般状态对象中,可以用block类进行访问。就是说任何使用View都可以使用UIP状态而不用管它在哪里存储,或者怎样访问它。如果View类型改变了,状态管理代码不会受到影响。
通过进程持续对状态进行快照
在许多应用程序中,想在任何时间都存储一个作业的状态是非常困难的。大多数应用程序用事务封装作业或者子作业,但是仅仅允许一个完整的事务或者成功或者失败。这就是说如果一个系统突然关闭或者用户离开了网站,那么回到它离开的时刻是非常困难的。
UIP Application Block包含状态保持机制,允许用代码保持UIP状态。这就允许你开发的应用程序在预定时间内保持UIP状态。除了把它存储在内存中,也可以存储在数据库中
客户有用的软件。