.NET程序员应该熟悉的开发模式
时间:2011-04-02 来源:jiyizhen3721
我们总会有这样一个经验:一个系统最不容易也最不应该变化的局部是领域逻辑, J2EE贯穿MVC的概念, android的开发方式也是类MVC的, NET这边, 由于之前微软为大家提供的各种winform、ASP. NET项目典范(比如那个petshopseries)将“三层”概念很好的灌输到了. 许多. NET开发者凡是做个东西都要搬出本人最拿手的IModel、IDAL这样的神器。 前者是一种结构模式, 一件很奇异的事情, NET和winform这些pagecontroller的典范让许多人对三层纸上谈兵却对MVC视而不见甚至一无所知。 NET的大多都用过winform和webform, 这种xxxform用起来很直观, 最简单的方式就是拖拖拽拽几个控件, 这种开发方式对于一些小软件系统的开发其实效率还是蛮高的, 后来人们看到其弊端---一旦修正UI, 但是业务还是那个业务, 凭什么要修正非UI的代码?于是有人提出“三层”, 最朴素的了解就是将原本那堆事件处置里的code分红业务代码和数据库访问代码并转移到其它类中, 做多了就把那坨UI叫做UI, 那坨业务代码叫做BLL, 那坨DAO叫做DAL。 ?ㄋ得鳎赫饬椒糲opy自是daxnet文) MVC是一个很经典的结构, MVVP。 传统的MVC结构之一是这样的(拿自动型MVC来说): 对于非天然MVC的框架 对于ASP. NET/winform而言, 虽然可以通过改造让其支持MVC结构的开发(比如通过定制IHttpModule、IHttpHandler云云), 大少数使用的是mvp模式。 什么是mvp呢?其实mvp是MVC的一个变种。 由于用winform或许webform的话form一直是个阻碍MVC开发的效果。 那么好, 我们依然使用designer和codebehind, 只需我们OO一时强pagecontroller一样好用。 NET)对应的IView和IPresenter、IModel。 举个简单的例子, 就是改换view十分方便, 这就是益处。 你必需要懂的MVVM 对于. NET平台的开发人员, 托微软的福分我们拥有一种更为强大的模型---MVVM。 WPF/silverlight天生支持数据绑定和命令绑定(不过sl在命令绑定上还比较弱), 这就为我们使用MVVM创造了可能。 View是什么呢, 纯的View只要xaml或许附带必要的只与View自身相关逻辑代码。 ViewModel, 你可以把它了解为View具体呈现内容所依赖数据的一个笼统, 在MVVM中View与ViewModel总会有一种绑定关系, 一旦ViewModel中被绑定的数据发作改动View上的数据就会跟着变, 比如你的账号密码框内容发作变化, 并且绑定双方的通知机制是有框架来完成, 咋view中又怎样绑定到viewmodel呢?首先我们谈ViewModel。 然后让其他ViewModel继承这个基类。 为了方便, 然后再我们的vs视图设计器Properties(中文版显示的是“属性”)页上选择为绑定源设置绑定目标(包括source和path等)以及必要的值转换器等等即可。 ?≒S:虽然vs很强大, 但团体还是建议熟悉xaml的绑定语法, 。 。 ) 原文链接: 【编辑引荐】