当前位置: 网学 > 编程文档 > 其他类别 > 正文

系统架构师谈企业应用架构之业务逻辑层

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12
的DataSet和dataTable。表模块在处理简单的实体时具有很好的优势,但是当实体较复杂时,或者实体之间的关系紧密时无法很好的处理。下面我们来看看一个简单的例子来说明表模式的使用。我们这里还是以刚才事务模型中的购买流程来讲解。

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/2B122036585.png" />

数据库表与表模块类的映射关系是通过.NET提供的内存数据对象DataSet、

DataTable来实现。

  1. public class Order  
  2. {  
  3. private System.Data.DataTable _orderItems;  
  4. private DataSet _ds;  
  5. public Order(DataSet ds)  
  6. {  
  7. _ds = ds;  
  8. }  
  9. /// <summary>  
  10. /// 返回订单对应的所有产品信息  
  11. /// </summary>  
  12. /// <returns></returns>  
  13.  public DataTable Products()  
  14. {  
  15. return _orderItems;  
  16. }  
  17. /// <summary>  
  18. /// 返回当前索引号的订单信息  
  19. /// </summary>  
  20. /// <param name="index"></param>  
  21. /// <returns></returns>  
  22. public DataRow GetRow(int index)  
  23. {  
  24. return _ds.Tables[0].Rows[index];  
  25. }  
  26. /// <summary>  
  27. /// 根据订单的ID返回订单的信息  
  28. /// </summary>  
  29. /// <param name="id"></param>  
  30. /// <returns></returns>  
  31. public DataRow GetRowByID(int id)  
  32. {  
  33. return _ds.Tables[0].Select("id=" + id.ToString());  
  34. }  
  35. public int Update(int orderID)  
  36. {  
  37. return 0;  
  38. }  
  39. public int Delete(int orderID)  
  40. {  
  41. return 0;  
  42.  }  
  43. public int Insert(int orderID)  
  44. {  
  45. return 0;  
  46. }  
  47.  } 

我们这里的数据如果发生变化时,我们如何将变化了的内存中的datatable或者dataset持久化到数据库中呢,ADO.NET为我们提供了dataadapter,通过这个适配器我们完成datatable中的数据持久化到数据库表中。具体的形式就是上图中的流程,UI层通过数据请求方法,然后表模块层中有相应的方法,将发送数据请求访问数据库,然后数据库返回相应结果通过datatable或dataset来初始化表模块类中的数据信息,然后返回给UI层相应的数据信息,然后绑定后显示。

总结:表模块模式相比事务脚本模式。是我们推荐的使用模式。并且VS中自动继承了相应的datatable 与datas的相应的图形化设计方法,很方便的使用。并且内部.NET framework 内置了相应的操作方法可以迅速的实现交互,在过程式模式中无疑是使用表模块模式是首选方案。表模块模式更关注的是与数据库表的映射关系,那么可以说表模块模式中包含了数据模型。有一些面向对象的味道,不过表模块模式中并不关注业务。

对象式模式

我们来讲述下面向对象的模式中的2种方案

1、活动记录模式

我们知道业务逻辑层中的业务逻辑才是系统的核心,那么我们更关注的是业务逻辑或者领域逻辑。因为我们必须关系实体之间的交互。我们如果对领域模型建模。我们需要使用面向对象的角度去分析需求。 我们先来看看基于对象模式的活动记录模式。

活动记录模式是在表模块模式的基础上,将表模块的粗粒度的基

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号