asp.net mvc4学习-自治视图(摘录)

1、autonomous view AV (自治视图)

  Windows Form,Asp.net WebForm 分别属于GUI(图形用户接口)和Web开发框架,但是他们采用的都是事件驱动开发的方式,所以与UI相关的逻辑都可以卸载后台代码中,并最终注册到视图本身或者视图元素(控件)上。

  一个典型的人机交互有三个关注点:1.数据在可视化页面上的呈现。2.UI处理逻辑(用于处理用户交互式操作的逻辑)。3.业务逻辑。

  自治视图存在的几个问题:

  1.重用性:业务处理逻辑是与UI无关的,应该最大限度的被重用。由于业务逻辑定义在自治视图中,相当与完全与视图本身绑定到一起,如果我们能够将UI的行为抽离出来,基于抽象化UI的行为逻辑也是可以被用来共享的。但是定义在自治视图的UI处理逻辑,完全丧失了重用的可能性。

  2.稳定性:业务处理逻辑的稳定性事最高的,UI处理逻辑次之,而可视化的呈现最差。如果将不同稳定性的元素融合到一起,那么最差稳定性的元素将决定了整体的问题性,这是“短板理论”在软件测试中的体现。

  3.可测试性:任何设计到UI的组件都不容易测试。UI是用来给人开的,并且用来与人进行交互的,用及其模拟活生生的人来对组件进行自动化测试不是一件容易的事,自治视图严重损害了组件的可测试性。

  为了解决自治视图的这些问题,我们采用关注点分离的方式(Seperation of Concerns),将数据在可视化页面上的呈现、UI处理逻辑、业务逻辑分离出来,并且采用合理的交互方式将它们之间的依赖降到最低,自然也将UI的处理逻辑和业务逻辑变的更容易测试,测试驱动设计开发变成了可能。这里采用关注点分离的模式就是MVC。

posted @ 2013-09-13 18:35  沧海一声笑!  阅读(220)  评论(0)    收藏  举报