代码改变世界

随笔分类 -  架构设计

.Net缓存管理框架CacheManager

2015-11-30 10:50 by JustRun, 25263 阅读, 收藏, 编辑
摘要: Cache缓存在计算机领域是一个被普遍使用的概念。硬件中CPU有一级缓存,二级缓存, 浏览器中有缓存,软件开发中也有分布式缓存memcache, redis。缓存无处不在的原因是它能够极大地提高硬件和软件的运行速度。在项目开发中,性能慢的地方常常是IO操作频繁的地方,读取数据库是我们常见的消耗性能的地方。这个时候,如果将使用频繁的数据缓存到能够高速读取的介质中,下次访问时,不用再去请求数据库,直接... 阅读全文

对象映射工具AutoMapper介绍

2014-08-29 09:33 by JustRun, 6295 阅读, 收藏, 编辑
摘要: AutoMapper是用来解决对象之间映射转换的类库。对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间。一. AutoMapper解决了什么问题?要问AutoMapper解决了什么问题? 难道不是对象映射转换的问题吗? 当然是,不过... 阅读全文

MVC, MVP, MVVM比较以及区别(上)

2014-04-22 10:03 by JustRun, 22168 阅读, 收藏, 编辑
摘要: MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式。以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解。现在一边查资料,并结合自己的理解,来谈一下对于这三种模式思想的理解,以及它们的区别。欢迎各位高手拍砖。 阅读全文

在Autofac中如何获取注册组件的类型

2012-10-17 22:11 by JustRun, 1168 阅读, 收藏, 编辑
摘要: 假如这里我注册component:builder.RegisterType<DeleteOrganization>().As<IDeleteOrganization>();后面我们想获取类型,可以这样container.Resolve<IDeleteOrganization>().GetType()但是这样是先实例化了DeleteOrganization对象,然后再获取Type, 但是我们并不需要实例。如何做才能更有效率呢?合理的做法是:var registration = container.ComponentRegistry .Registrations 阅读全文

理解为什么要使用Ioc

2012-10-11 06:34 by JustRun, 5640 阅读, 收藏, 编辑
摘要: 转自 http://www.cnblogs.com/shanyou/archive/2010/05/28/1746711.html较复杂的应用程序都是由多个项目组织成的,项目可以划分成程序集(Assemblies)和宿主(Hosts),也就是应用程序的入口。Assemblies 通常是常见的类库项目,包括可以重用的功能和方便测试,通常包括下面的组件:Views, Controllers 和 Models服务持久类 和 repositoriesDecoratorsReusable user controls规则库业务逻辑这些项目通常不应该直接依赖于下面的组件:IoC 容器程序集;日志记录框架 ; 阅读全文