业务软件的MVVM和N层架构

zhongchengli 2011-02-17 04:35:49
发表下不成熟的看法,业务软件的MVVM和N层架构。

表示层(WPF应用程序)对应MVVM的View
业务逻辑层(Domain Model)对应MVVM的ViewModel
对数据访问层服务的引用(WCF) 对应MVVM的Model
数据访问层
数据层

1.“表示层”是指用户与应用程序进行交互时所在的层。 它通常还包含附加的应用程序逻辑(AppLogic)。
2.“业务逻辑层”是指用业务规则和数据计算。典型的Domain Model。它通常还包含为表示层提供的实体数据类。
3.“对数据访问层服务的引用”是指用WCF彻底的把业务逻辑层和数据层给分开,数据层作为服务被业务逻辑层提供数据。
4.“数据访问层”这里要重点说一下。
“数据访问层”又分为以下几个模块
①数据逻辑层DALC(Data Access Logic Component )是指处理与数据逻辑相关的层。
②数据集DateSet是指在内存中像一个完整的数据库,支持数据库断开连接,对于大数据使用分页来处理。他可以接受来自不同数据库或文件的数据。
③DBA(DateBaseAccess)是指彻底把数据访问层与数据层隔开,如果变更数据源(SQLServer→MYSQL)不需要变更代码。提供数据库的一些通用功能,如数据库备份还原压缩等。
5.“数据层”是存储应用程序数据的服务器(例如,运行 SQL Server 的服务器)。

现在正在由下向上实现中,有什么好的见解或文章欢迎共享。特别是关于DBA的,哈哈!
...全文
341 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ai2015WER 2011-05-30
  • 打赏
  • 举报
回复
学习了......
jjcheung 2011-05-30
  • 打赏
  • 举报
回复
ViewModel不对应业务逻辑层,它还是跟UI表现相关的
zhongchengli 2011-02-23
  • 打赏
  • 举报
回复
有什么好的见解或文章欢迎共享。
zhongchengli 2011-02-23
  • 打赏
  • 举报
回复
Domain Model
http://www.javaeye.com/topic/9685
zhongchengli 2011-02-18
  • 打赏
  • 举报
回复
前提知识:
用Visual Studio 2010可以自动生成Dataset的XSD(http://msdn.microsoft.com/zh-cn/library/04y282hb.aspx),但是自动生成的代码里面对特定的数据引擎具有硬编码依赖性,如SqlDataAdapter SqlConnection SqlTransaction SqlCommand都被硬编码在XSD中了。

除了上面仁兄做的数据通用层的功能外我想这么做:
把DataAdapter Connection Transaction Command也在DBA中进行封装,然后做一个代码自动生成工具把XSD转化为使用DBA中封装了的DataAdapter等(参考http://xsd2code.codeplex.com/),这样就可以把②数据集DateSet与具体的数据引擎隔开。
chenghaiwain 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhongchengli 的回复:]
>4.“数据访问层”这里要重点说一下。
>“数据访问层”又分为以下几个模块
>①数据逻辑层DALC(Data Access Logic Component )是指处理与数据逻辑相关的层。
>②数据集DateSet是指在内存中像一个完整的数据库,支持数据库断开连接,对于大数据使用分页来处理。他>可以接受来自不同数据库或文件的数据。
>③DBA(DateBaseAccess)是指彻底把数据访问层与数据层隔开,如果变更数据源(SQLServer→MYSQL)不
>需要变更代码。提供数据库的一些通用功能,如数据库备份还原压缩等。
[/Quote]

http://www.cnblogs.com/sjfe_cn/archive/2010/11/07/DevNet.html
这位仁兄做的数据通用层,和上边的③DBA有些相似。
zhongchengli 2011-02-18
  • 打赏
  • 举报
回复
中文
http://www.yesky.com/20021112/1639500.shtml
zhongchengli 2011-02-18
  • 打赏
  • 举报
回复
一篇介绍数据层组件设计的文章
http://msdn.microsoft.com/en-us/library/ee817644.aspx(英文原址http://msdn.microsoft.com/en-us/library/ee817644.aspx)
zhongchengli 2011-02-18
  • 打赏
  • 举报
回复
非常感谢1楼对MVVM的经典解释,以及提供的资料(视频时间有点长,还没看完呢!呵呵)。
wuyq11 2011-02-17
  • 打赏
  • 举报
回复
(Data)Model-View-ViewModel模式跟经典的Model-View-Presenter模式很相似,除了需要一个为View量身定制的model,这个model就是ViewModel。ViewModel包含所有由UI特定的接口和属性,它们是轻松构建UI的必要元素。View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新来响应UI。
http://weblogs.asp.net/craigshoemaker/archive/2009/02/26/hands-on-model-view-viewmodel-mvvm-for-silverlight-and-wpf.aspx

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧