摘要:
EmitMapper,AutoMapper,NLiteMapper和手工映射性能大比拼 在大比拼之前先讲一个小插曲,我这个人以前比较低调,做了很多好东西仅仅在公司内的朋友圈项目圈内分享,很少在博客园内进行分享,后来在dudu 老大的文章博客园现代化建设——AutoMapper有感便推荐一下OOMapper组件,于是乎接连写了几篇入门性的介绍使用文章:开发人员必备工具:OOMapperOO Mapper 实践(上篇)OO Mapper 实践(下篇) 在园友Repository兄的NLiteMapper与EmitMapper性能简单比较中了解到NLiteMapper与EmitMapper的性能巨. 阅读全文
posted @ 2014-03-26 18:55
HackerVirus
阅读(442)
评论(0)
推荐(0)
摘要:
简单的三层asp.net webForm使用Ninject实现Ioc在asp.net webform下使用Ninject的简单过程。首先建立个项目,如下图,简单三层(PS:UI层要同时引用BLL、Model、DAL这三层)写好代码Model:View Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Model{ public class UserInfo { public int UserID { get; set; } ... 阅读全文
posted @ 2014-03-26 14:25
HackerVirus
阅读(284)
评论(0)
推荐(0)
摘要:
转软件架构设计模式简述在软件开发设计中我们经常会面对业务分析,提取领域问题,从而实现软件架构设计。关于 软件架构设计Martin Fowler在2004出版的《企业应用架构模式》中 概括了四种方式的架构模式。它们分别为事务性脚本,表驱动模式,活动记录模式,领域驱动设计。前两者事务性脚本,表驱动模式作为 面向过程方式架构设计,后两者为面向对象架构设计。它们适合于不同的业务场景,它们也各有长短。事务脚本模式事务脚本模式是架构设计中最简单的架构模式,面向过程模式。该模式以用户的操作,UI表现为起点,设计业务组件, 即业务逻辑将直接映射到用户界面的操作。这通常是从表现层逻辑出发,表现层需要什么那么业务 阅读全文
posted @ 2014-03-26 00:22
HackerVirus
阅读(225)
评论(0)
推荐(0)
摘要:
转C#正则表达式引发的CPU跑高问题以及解决方法3月23日(周日)下午16:30左右,博客园主站负载均衡中的2台Web服务器CPU玩起了爬楼梯的游戏(见上图),一直爬到了接近100%。发现这个状况后,我们立即将这2台阿里云临时磁盘云服务器从负载均衡中摘下来,挂上1台云盘云服务器,恢复了正常。由于曾经多次遇到过阿里云云服务器CPU问题,现在对阿里云云服务器产生了一种偏见,只要出现CPU问题,就会首先怀疑云服务器的问题。而这次出现问题时,换上云盘云服务器立即恢复正常,我们就坚定地认为临时磁盘云服务器存在某种问题。于是,我们提交了工单,向阿里云客服抱怨这个问题。。。。接着突然发生的状况让我们的“坚定 阅读全文
posted @ 2014-03-26 00:16
HackerVirus
阅读(231)
评论(0)
推荐(0)
摘要:
实体类配置总结Entity Framework 6 Code First 实践系列(1):实体类配置总结2014-03-25 12:58 by TJerry,719阅读,6评论,收藏,编辑EF实体类的配置可以使用数据注释或Fluent API两种方式配置,Fluent API配置的关键在于搞清实体类的依赖关系,按此方法配置,快速高效合理。为了方便理解,我们使用简化的实体A和B以及A、B的配置类AMap和BMap,来演示如何正确配置实体类关系的过程。实体类配置一、确定依赖关系:假设实体B依赖于实体A(B->A),那么实体B中存在对实体A的引用。二、实体类配置应该写在哪里?假设B依赖于A(B 阅读全文
posted @ 2014-03-26 00:14
HackerVirus
阅读(2288)
评论(0)
推荐(0)
摘要:
Visual Studio 2013常用快捷键声明及广告所有功能针对C#开发配置,部分功能可能由插件提供,我会尽可能标注出相应的插件名称。内什么,字母大小写不影响功能使用,不要担心。我只写些我喜欢的快捷键,不喜欢的不写。本文叙述的大部分快捷键可用于Office系列软件。国际惯例,Q群:185718116。重置配置的方法编辑系代码提示Ctrl + J激活VS默认代码提示功能。ReSharper等插件会建议你修改快捷键。导入命名空间个人认为Ctrl + .是最方便的,复杂点的是Alt + Shift + F10,更复杂的是右键菜单Resolve,更更复杂的是Edit->IntelliSens 阅读全文
posted @ 2014-03-26 00:13
HackerVirus
阅读(246)
评论(0)
推荐(0)
摘要:
ASP.NET MVC 5 - 给数据模型添加校验器在本节中将会给Movie模型添加验证逻辑。并且确保这些验证规则在用户创建或编辑电影时被执行。拒绝重复DRYASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(DRY--Don’t Repeat Yourself)"。ASP.NET MVC鼓励您指定功能或者行为,只做一次,然后将它应用到应用程序的各个地方。这可以减少您需要编写的代码量,并减少代码出错率,易于代码维护。给ASP.NET MVC 和 Entity Framework Code First 提供验证支持是 DRY 信条的一次伟大实践。您可以在一个 阅读全文
posted @ 2014-03-26 00:08
HackerVirus
阅读(195)
评论(0)
推荐(0)
摘要:
Web Api单元测试写法例如我们在Web Api项目中有个Controllerpublic class SomeController : ApiController{ public HttpResponseMessage Get() { // 一些操作 return Request.CreateResponse(HttpStatusCode.OK, someModel); }}如果你在单元测试中直接调用SomeController的Get()方法,那么你将会收到一个Exception提示Request为Null。因此我们需要在测试代码中构造一个... 阅读全文
posted @ 2014-03-26 00:06
HackerVirus
阅读(226)
评论(0)
推荐(0)
摘要:
TDD中的单元测试写多少才够?测试驱动开发(TDD)已经是耳熟能详的名词,既然是测试驱动,那么测试用例代码就要写在开发代码的前面。但是如何写测试用例?写多少测试用例才够?我想大家在实际的操作过程都会产生这样的疑问。3月15日,我参加了thoughtworks组织的“结对编程和TDD Openworkshop”活动,聆听了tw的资深咨询专家仝(tong2)键的精彩讲解,并在讲师的带领下实际参与了一次TDD和结对编程的过程。活动中,仝键老师对到底写多少测试用例才够的问题,给出了下面一个解释:我们写单元测试,有一个重要的原因是用来防止自己犯低级错误的。我们不能把写实现代码的人当作我们的敌人,一定要把 阅读全文
posted @ 2014-03-26 00:03
HackerVirus
阅读(367)
评论(0)
推荐(0)
浙公网安备 33010602011771号