(翻译)UIP Application Block学习系列(一)欢迎学习User Interface Process Application Block
典型的应用程序一般在表现层用代码管理用户交互;例如,一个form能决定用户可以转向的下一个form,开发人员通常把这些代码写在UI层中。然而,如果一个开发人员在UI层包含跳转代码,那么代码将非常复杂,很难重用并且难于维护和扩展。另外,the application may be difficult to port to a different platform because the application control logic and state cannot be reused.。
在许多案例中,应用程序的状态必须被维持。如果状态被存储在form中,代码必须访问form才能找回应用程序的状态。这很难实现并且往往出现不雅的代码,也影响了应用程序UI的可扩展性和可重用性。当你插入一个新的form时,必须修改之前的和之后的form以实现它们之间的交互。
当用户在与应用程序交互时,经常需要返回前一个状态。但是一旦用户关闭了应用程序或者失去了session,那么他或她可能失去状态并且需要重新开始当前作业。在复杂的交互时这对用户来说实在是太复杂而冗长了,而在某些案例中,是不可接受的。
因此,在设计你的应用程序时,需要考虑工作流,导航和商业服务与组件的交互等等。把呈现给用户的东西和需要的数据分离开来是比较好的选择。
第二版的User Interface Process(UIP) Application Block提供了一个可扩展的框架简单的把业务逻辑代码从UI中分离出来。你可以用这个block写一些复杂的UI导航和工作流过程并且可以在多个场景中重用。这里描述了UIP Application Block的设计和特性,并且举例说明怎样在你的应用程序中使用这个block.
The UIP Application Block将解决你在UI开发中遇到的一系列挑战,包括:
l 导航和工作流控制----这些将不会出现的UI中,但是经常因为要基于业务逻辑决定哪一个视图将被显示。这导致代码的不雅和难于管理。、
l 导航和工作流改变----用传统的UI技术改变应用程序的界面(改变页面的顺序或者添加删除页面)是非常痛苦的。
l 状态管理----不管是在windows form还是在web form中,在视图间维护状态都是比较困难的。
l 保存当前交互的快照----你可能想保存一个交互的快照并且的别的地方(不同的时间, 不同的地点)重新开始它。
客户有用的软件。