.net
_____XX_____
这个作者很懒,什么都没留下…
展开
-
ASP.NET里的事务处理
<br /> 事务是一组组合成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性。如果在事务过程中没有遇到错误,事务中的所有修改都将永久成为数据库的一部分。如果遇到错误,则不会对数据库作出任何修改。 <br /> 例如,在一个银行应用程序中,如果资金从一个帐户转到另一个帐户,则会将一定的金额记入一个帐户的贷方,同时将相同的金额记入另一个帐户的借方。由于计算机可能会因为停电、网络中断等原因而出现故障,所以有可能更新了一个表中的行,但没有更新相关表中的行。如转载 2011-02-12 14:21:00 · 237 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(七)
模型对象的生命周期 - 仓储上文中已经提到了管理领域模型对象生命周期的两大角色,即工厂与仓储,并对工厂的EntityFramework实践作了详细的描述。本节主要介绍仓储的概念,由于仓储的内容比较多,我将在接下来的两节中具体讲解仓储的架构设计与实践经验。仓储(Repository),顾名思义,就是一个仓库,这个仓库保存着领域模型的实体对象。在业务处理的过程中,我们有可能需要转载 2014-01-17 13:40:58 · 957 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(四)
存储过程 - 领域驱动的反模式EntityFramework(EF)中有一项功能,就是能够根据数据库中的存储过程生成实体的行为(或称方法,以下统称方法)。我在本系列的第一篇博文中就已经提到,这种做法并不可取!因为存储过程是技术架构中的内容,而我们所关注的却是领域模型。Andrey Yemelyanov在其“Using ADO.NET EF in DDD: A Pattern转载 2014-01-17 13:36:39 · 557 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践【扩展阅读】:CQRS体系结构模式
CQRS体系结构模式本文将对CQRS(Command Query Responsibility Segregation,命令查询职责分离)模式做一个相对全面的介绍。可以这么说,CQRS打破了经典的领域驱动设计实践,在应用CQRS的整个过程中,你将会以另一种不同的角度去考虑问题并寻求解决方案。比如,CQRS是事件驱动的体系结构,事件是如何产生如何分发又是如何处理的?事件驱动的体系结构转载 2014-01-17 13:47:57 · 610 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(八)
仓储的实现:基本篇我们先从技术角度考虑仓储的问题。实体框架(EntityFramework)中,操作数据库是非常简单的:在ObjectContext中使用LINQ to Entities即可完成操作。开发人员也不需要为事务管理而操心,一切都由EF包办。与原本的ADO.NET以及LINQ to SQL相比,EF更为简单,LINQ to Entities的引入使得软件开发变得更为“领域转载 2014-01-17 13:42:18 · 847 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(二)
分层架构在引入实例以前,我们有必要回顾,并进一步了解分层架构。“层”是一种体系结构模式[POSA1],也是被广大软件从业人员用得最为广泛而且最为灵活的模式之一。记得在CSDN上,时常有朋友问到:“分层是什么?为什么要分层?三层架构是不是就是表现层、业务逻辑层和数据访问层?”到这里,你可能会觉得这些朋友的问题很简单,分层嘛,不就是将具有不同职责的组件分离开来,组成一套层内部高聚合,层转载 2014-01-17 12:30:24 · 573 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践 (一)
EntityFrameworkEntityFramework是微软继LINQ to SQL之后推出的一个更为完整的领域建模和数据持久化框架。初见于.NET Framework 3.5版本,4.0的.NET Framework已经集成了EntityFramework。使用.NET 4.0的朋友就不需要下载和安装额外的插件了。与LINQ to SQL相比,EntityFra转载 2014-01-17 12:27:14 · 1066 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践【扩展阅读】:服务(Services)
服务(Services)从本讲开始,所涉及的DDD话题可能与EntityFramework关系不大了。网友千万别骂我是标题党,呵呵。由于这部分内容并非是特定于EntityFramework的,更多的是在介绍模式及实践心得,所以EntityFramework的内容就会偏少了。为了使得针对一些话题的讨论能够延续下去,我仍然将这些文章安排在本系列中,希望读者朋友能够谅解。我也在标题中标注转载 2014-01-17 13:46:46 · 514 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(九)
仓储的实现:深入篇早在年前的时候就已经在CSAI博客发表了上一篇文章:《仓储的实现:基础篇》。苦于日夜奔波于工作与生活之间,一直没有能够抽空继续探讨仓储的实现细节,也让很多关注EntityFramework和领域驱动设计的朋友们备感失望。闲话不多说,现在继续考虑,如何让仓储的操作在相同的事物处理上下文中进行。DDD引入仓储模式,其目的之一就是能够通过仓储隐藏对象持久化的技术转载 2014-01-17 13:43:32 · 783 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(六)
模型对象的生命周期 - 工厂首先应该认识到,是对象就有生命周期。这一点无论在面向对象语言还是在领域驱动设计中都适用。在领域驱动设计中,模型对象生命周期可以简要地用下图表示:通过上图可以看到,对象通过工厂从无到有创建,创建后处于活动状态,此时可以参与领域层的业务处理;对象通过仓储实现持久化(也就是我们常说的“保存”)和重建(也就是我们常说的“读取”)。内存中的对象通过转载 2014-01-17 13:38:54 · 682 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(五)
聚合聚合(Aggregate)是领域驱动设计中非常重要的一个概念。简单地说,聚合是这样一组领域对象(包括实体和值对象),这组领域对象联合起来表述一个完整的领域概念。比如,根据Eric Evans《领域驱动设计》一书中的例子,一辆车包含四个轮子,轮子离开“车”就毫无意义,此时这个联合体就是聚合,而“车”就是聚合根(Aggregate Root)。从实践中得知,并非领域模型中的转载 2014-01-17 13:37:31 · 630 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(三)
案例:一个简易的销售系统从现在开始,我们将以一个简易的销售系统为例,探讨EntityFramework在领域驱动设计上的应用。为了方便讨论,我们的销售系统非常简单,不会涉及客户存在多个收货地址的情况,也不会包含任何库存管理的内容。假设我们的系统只需要维护产品类型、产品以及客户信息,并能够帮客户下订单、跟踪订单状态,以及接受客户退货。从简单的分析我们大致可以了解到,这个系统将会有如下转载 2014-01-17 13:35:42 · 590 阅读 · 0 评论 -
在ASP.Net 2.0中实现多语言界面的方法
<br /> 1. 跟以前一样做界面,只是注意,把所有需要有多语言界面的文字都用label来做<br /> 2. 做完以后,在Solution Explorer里选中这个文件,选Tools->Generate Local Resource<br /> 3. 你会发现生成了一个目录,App_LocalResources;这个目录里多了一个resx的文件。比如你的aspx文件是default.aspx,它就会生成一个叫做default.aspx.resx的文件。<br /> 4. 打开这个文件看转载 2011-02-12 11:52:00 · 229 阅读 · 0 评论 -
asp.net跳转页面的三种方法比较
<br />1、 response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。<br /> <br /> <br />2、 server.tra原创 2011-02-12 11:29:00 · 310 阅读 · 0 评论 -
键盘KeyCode值列表
keycode 0 =keycode 1 =keycode 2 =keycode 3 =keycode 4 =keycode 5 =keycode 6 =keycode 7 =keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode 10 =keycode 11 =keycode 12 = Clearkeycode 13 = Enterkeycode 14 =keycode 15 =keycode 16 = S原创 2011-02-16 10:31:00 · 331 阅读 · 0 评论 -
EntityFramework之领域驱动设计实践(十)
规约(Specification)模式本来针对规约模式的讨论,我并没有想将其列入本系列文章,因为这是一种概念性的东西,从理论上讲,与EntityFramework好像扯不上关系。但应广大网友的要求,我决定还是在这里讨论一下规约模式,并介绍一种专门针对.NET Framework的规约模式实现。很多时候,我们都会看到类似下面的设计:隐藏行号 复制代码 ?Custo转载 2014-01-17 13:45:01 · 557 阅读 · 0 评论