net开发框架有哪些 ASP.NET MVC 4框架揭秘:自治视图

ASP.NET MVC 4框架揭秘:自治视图
自治视图
说到自治视图 很多人会感到陌生 但是我们(尤其是 NET开发人员)可能经常在采用这种模式来设计我们的应用 Windows Forms和ASP NET Web Forms虽然分别属于GUI和Web开发框架 但是它们都采用了事件驱动的开发方式 所有与UI相关的逻辑都可以定义在针对视图(Windows Forms或者Web Forms)的后台代码(Code Behind)中 并最终注册到视图本身或者视图元素(控件)的相应事件上
一个典型的人机交互应用具有三个主要的关注点 即数据在可视化界面上的呈现 UI处理逻辑(用于处理用户交互式操作的逻辑)和业务逻辑 自治视图模式将三者混合在一起 势必会带来如下一些问题
业务逻辑是与UI无关的 应该最大限度地被重用 由于业务逻辑定义在自治视图中 相当于完全与视图本身绑定在一起 如果我们能够将UI的行为抽象出来 基于抽象化UI的处理逻辑也是可以被共享的 但是定义在自治视图中的UI处理逻辑完全丧失了重用的可能
业务逻辑具有最强的稳定性 UI处理逻辑次之 而可视化界面上的呈现最差(比如我们经常会为了更好地呈现效果来调整HTML) 如果将具有不同稳定性的元素融为一体 那么具有最差稳定性的元素决定了整体的稳定性 这是 短板理论 在软件设计中的体现
任何涉及UI的组件都不易测试 UI是呈现给人看的 并且用于与人进行交互 用机器来模拟活生生的人来对组件实施自动化测试不是一件容易的事 自治视图严重损害了组件的可测试性
为了解决自治视图导致的这些问题 我们需要采用关注点分离(Seperation of Concerns SoC)的方针将可视化界面呈现 UI处理逻辑和业务逻辑三者分离出来 并且采用合理的交互方式将它们之间的依赖降到最低 将三者 分而治之 自然也使UI逻辑和业务逻辑变得更容易测试 测试驱动设计与开发变成了可能 这里用于进行关注点分离的模式就是MVC
返回目录ASP NET MVC 框架揭秘
编辑推荐
Java程序性能优化 让你的Java程序更快 更稳定
lishixinzhi/Article/program/net/201311/16132