信息系统的查询需求千变万化,在仓储中为每个查询需求创建一个特殊方法,将导致大量乏味而臃肿的接口。一种更加可行的办法是,在应用层服务中描述查询需求,并通过仓储执行查询。为了能够更好的描述查询需求,可以将查询功能...

不知不觉,这个系列已经写了好几十篇了。我本来打算把基础介绍完再发放Demo进行整体说明,不过大部分人更喜欢看得见摸得着的表现层,对后端不是太感兴趣,所以我决定先发一个简单的CRUD Demo出来,让大家先感受一下,被应用...

今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误。我增加了几个单元测试来捕获错误,代码如下。     /// <summary>/// 测试值为枚举/// </summary>[TestMethod]p...

对于BS管理系统,我很长一段时间都工作在Asp.Net Web Form上,Web Form的主要优势是可以使用服务器端控件,以类似CS的开发模式进行工作,通过拖拽控件和定义事件处理函数,极大的简化了BS的开发。服务器端控件会在渲染阶段...

上文介绍了我选择EasyUi作为前端框架的原因,并发放了最新Demo。本文将对这个Demo进行一些介绍,以方便你能够顺利运行起来。这个Demo运行起来以后,是EasyUi的一个简单CRUD操作,数据库中也只有一个简单的表,整个操作不带任...

本文将介绍表现层及ASP.NET MVC的一些要点,特别是ASP.NET MVC的一些抽象和封装技巧,如果你对MVC还不了解,可以参考《ASP.NET MVC4 高级编程》,作者Jon Galloway等,这本书由ASP.NET MVC团队成员编写,相当不错。表现层的职...

最近过年很忙,没时间写博客,更新几个模块作为新年礼物给各位园友拜年。礼物一:log4.net日志封装对日志文件中的文本进行了格式化,用来方便开发时调试。另外自动记录Mvc跟踪日志,以及在应用服务基类记录CRUD操作日志,同时...

今天元宵节再更新点代码供大家参考。礼物一:树型实体的抽象与封装所谓树型实体,就是具有树型结构关系的实体,比如省、市、区。对于初学者,可能会创建三张表进行存储,有经验的开发者通过引入ParentId将设计简化为一张表,但...

最近的更新速度越来越慢,主要是项目上比较忙,封装EasyUi也要花很多时间。不过大家请放心,本系列不会半途夭折,并且代码干货也会持续更新。本文继续介绍表现层和Asp.net Mvc,我将在本篇讨论一些重要的设计问题和封装技巧...

本文将介绍DDD分层架构中广泛使用的数据传输对象Dto,并且与领域实体Entity,查询实体QueryObject,视图实体ViewModel等几种实体进行比较。领域实体为何不能一统江湖?当你阅读我或其它博主提供的示例代码时,会发现几种类...

上一篇介绍了我对几种实体的认识,本篇将介绍几种服务的用法。预告一下本系列后续计划,本篇之后,准备进入实战演练阶段,先介绍如何快速解决CRUD操作,从如何使用PD数据建模到使用CodeSmith生成代码,先带你感受一下,再回过...

从本篇开始,本系列将进入实战演练阶段。前面主要介绍了一些应用程序框架的概念和基类,本来想把所有概念介绍完,再把框架内部实现都讲完了,再进入实战,这样可以让初学者基础牢靠。不过我的精力很有限,文章进度越来越慢,所...

离上一篇又过去了一个月,时间比较紧,后续估计会更紧,所以这次将放出更多公共操作类及配套的CodeSmith模板,本篇将简要介绍新放出的重要功能,供有兴趣的同学参考。重要更新这一次对两个VS解决方案均做了大量调整,包含项...

进行项目开发的第一步,是创建出适合自己团队习惯的VS解决方案,虽然我已经提供了项目示例,但毕竟是我创建的,你直接使用可能并不合适,另外你如果尝试模仿重新创建该示例,中间可能碰到各种障碍,特别是项目间的依赖关系。...