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

从业务域驱动开发看三层架构够不够?

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12
iew raw gistfile1.cs This Gist brought to you by GitHub.

Fluent nHibernate的配置:

view raw gistfile1.cs This Gist brought to you by GitHub.

使用的SQLite文本数据库,作为示例。

测试和使用的例子

自动创建数据库:

  1. using NUnit.Framework;   
  2. namespace Skight.Demo.NHRepository.Tests{[TestFixture]  
  3. public class CreateDatabase{[Test]public void Run(){
  4. var provider = SessionProvider.Instance;provider.IsBuildScheme = true;provider.initilize();}
  5.  }} 

view raw gistfile1.cs This Gist brought to you by GitHub.

这里,只是用测试的形式,实现功能。如果运行这个测试,将自动生成数据库。并且,可以输显示数据库生成脚本。在产品环境下,我就是用这个脚本来做数据库安装的。

操作数据(模拟UI):

  1. using NHibernate;  
  2. using NHibernate.Context;  
  3. using NUnit.Framework;  
  4. using Skight.Demo.Domain;  
  5. using Skight.Demo.Domain.Examination;   
  6. namespace Skight.Demo.NHRepository.Tests{[TestFixture]  
  7. public class DataOperation{  
  8. private Repository repository;  
  9. private ISession session;private ITransaction transaction;  
  10. [SetUp]public void SetUp(){  
  11. //Dependecy Injectrepository=new RepositoryImpl();  
  12. session = SessionProvider.Instance.CreateSession();  
  13. transaction = session.BeginTransaction();  
  14. CurrentSessionContext.Bind(session);  
  15. }[TearDown]public void TearDown(){   
  16. transaction.Commit();  
  17. transaction.Dispose();  
  18. transaction = null;   
  19. session.Close();  
  20. session.Dispose();  
  21. }[Test]public void create_a_exam(){var exam = new Exam();  
  22. exam.Code = "001";exam.Name = "计算机考试";  
  23. repository.save(exam);  
  24. }   
  25. [Test]public void get_the_exam_by_id(){
  26. var exam = repository.get_by_id<Exam>(1);  
  27. Assert.IsNotNull(exam);  
  28. }   
  29. [Test]public void delete_the_exam()   
  30. {var exam = repository.get_by_id<Exam>(1);repository.delete(exam);  
  31. }   
  32. }} 

view raw gistfile1.cs This Gist brought to you by GitHub.

同样,用测试的形式,模拟UI的数据的操作。
首先,运行Create_a_exam()插入一个考试对象。
然后,运行get_the_exam_by_id()获取刚插入的考试。
运行 delete_the_exam()删除考试。

完全代码下载  下载页面     直接下载

原文链接:http://www.cnblogs.com/Wonner/archive/2012/04/16/From_DDD_To_3Tier.html

网学推荐

免费论文

原创论文

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