代码改变世界

随笔档案-2014年01月

我在项目中运用 IOC(依赖注入)--实战篇

2014-01-13 08:36 by IT农民!, 3914 阅读, 收藏, 编辑
摘要: 上一篇《我在项目中运用 IOC(依赖注入)--入门篇》只是简单的使用 IOC。实际项目使用 IOC 的情景复杂多了,比如说,构造函数有多个参数,有多个类继承同一个接口... Unity都有解决方法。首先回顾一下入门篇的项目需求:项目中数据统计功能,它下面有三种不同的统计类型,需要与数据库交互,然后展示到页面,在这篇中我们接着这个需求继续扩充。【没有接口】新增Model 层,LoginUser 当前登录人。无接口的怎样用IOC 创建对象。代码如下Model.LoginUser loginUser = container.Resolve();【多个子类】DAL 层 新增ShowResult2 方法 阅读全文

我在项目中运用 IOC(依赖注入)--入门篇

2014-01-09 15:34 by IT农民!, 7651 阅读, 收藏, 编辑
摘要: 之前就听同事说过依赖注入(dependency injection)、控制反转(Inversion of Control)。起初听的是一头雾水,试着在项目中运用了几次,总算明白了一些,抛砖引玉,与大家分享一下拙见。其实依赖注入和控制反转指的都是同一个事情。什么是依赖注入了???【个人理解】以最熟悉的三层架构的项目来说,BLL层依赖DAL层,UI层依赖于BLL层,层层之间紧密联系。代码里到处都是new 对象。认识IOC后,发现IOC最大的好处就是解耦了对这种层级之间的依赖关系进。程序本身不在负责对象的创建和维护,而交给外部容器(IOC容器)来负责。外部容器在运行时动态地将依赖的对象注入到组件之中 阅读全文

我用ASP.NET缓存之数据缓存

2014-01-07 21:33 by IT农民!, 1945 阅读, 收藏, 编辑
摘要: 【我的理解】Cache,是内置的对象集合。是全局的,类似于static Arraylist.它是线程安全的,添加或修改Cache中的项目时,不需要锁定或者解除Cache。添加 Cache[Key]=object or Cache.Insert移除 Cache.Remove(key)【我是怎么用的】首先理解缓存策略。可调过期策略 和 绝对过期策略。注意,两则不能同时使用使用可调过期策略,需要将absoluteExpiration=DateTime.MaxValue ,TimeSpan .FromMinutes(10)设置项目只有在10分钟内不被使用才会被移除Cache.Insert(" 阅读全文

我用ASP.NET缓存之OutputCache

2014-01-07 14:55 by IT农民!, 1288 阅读, 收藏, 编辑
摘要: 【我的理解】页面缓存常用在网站上。Web应用系统上也用,但由于Web系统常与数据库打交道。时效性要求蛮强的,所以是否能用缓存得具体情况具体分析(很喜欢这句话“具体情况具体分析”,很符合国人的中庸之道)【我是怎么用的】参数分析:这样页面缓存就用上了。部分页缓存,结果用户控件使用。需将页面要缓存的一部分放入到一个用户控件中,然后就OutputCache得指令加入到用户控件上。这样也没不会被缓存,用户控件被缓存了。但是,如果用户控件里有个属性,需要页面对其赋值,则此时页面会出错。因为用户控件已经缓存,不能通过代码与页面进行交互。(记住)Web.config 配置缓存。 ... 阅读全文

Resharper 使用帮助-自动生成文件头

2014-01-07 14:05 by IT农民!, 2418 阅读, 收藏, 编辑
摘要: VS2012 安装完resharper 后,在resharper选项中选择 Code Editing – File Header Text 。 输入自定义的文件头格式。如果需要在文件头外层添加region 代码块,则需要在Embrace File Header into Region With Name: 文本框添加内容。再选择Code Editing – Code Cleanup 选项。点Add 添加自定义的文件格式。操作如图:勾选Update File Header点击save 或 save to运行RESHARPER – Tools – Cleanup Code 可查看刚才配置的选项。使 阅读全文
点击右上角即可分享
微信分享提示