代码改变世界

阅读排行榜

.Net缓存管理框架CacheManager

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

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

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

开发和常用工具推荐清单

2013-08-12 23:43 by JustRun, 21054 阅读, 收藏,
摘要: 常说”工欲善其事必先利其器”, 下面的一些工具软件,必能提高你的工作效率。 开发相关 Resharper(收费) 如果说在VS中,必装的插件是什么,那么一定是Resharper.园中甚至有看到朋友因为老板不愿意掏钱买Resharper而辞职。(不过我觉得也对,如果老板认为工具比人值钱,跟这样的老板混 阅读全文

分享基于Entity Framework的Repository模式设计(附源码)

2013-09-07 20:59 by JustRun, 20020 阅读, 收藏,
摘要: 关于Repository模式,在这篇文章中有介绍,Entity Framework返回IEnumerable还是IQueryable?这篇文章介绍的是使用Entity Framework实现的Repositoy模式设计,欢迎各位拍砖.阅读目录:一、实现的思路和结构图二、Repository设计具体的实现代码三、Repository设计的具体的使用四、总结一,实现的思路和结构图总结一下,Repository在实际使用中,有下面三种特点:Repository的共同性有一些公共的方法(增删改查), 这些方法无关于Repository操作的是哪个实体类,可以把这些方法定义成接口IRepository, 阅读全文

IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc

2013-03-17 23:14 by JustRun, 18738 阅读, 收藏,
摘要: 阅读目录:一. 一个没有使用IoC的例子二. 当需求发生变动时,非IoC遭遇到的困境三. 使用IoC彻底解决问题四. 总结一、一个没有使用IoC的例子IoC的全称是Inversion of Control,中文叫控制反转。要理解控制反转,可以看看非控制反转的一个例子。public class MPGMovieLister { public Movie[] GetMPG() { var finder = new ListMovieFinder(); var allMovies = finder.FindAll(); ... 阅读全文

IoC容器Autofac(2) - 一个简单示例(附demo源码)

2013-03-19 18:20 by JustRun, 17518 阅读, 收藏,
摘要: 上篇文章中(IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc),我们用自己的方式实现了一个简陋的工厂类来实现IoC.这里我们尝试使用Auotfac来替换我们的工厂类MovieFinderFactory.(Autofac的名字应当取的是非常贴切的,它本质上其实就是一个产出对象的自动工厂)阅读目录:一. 使用自定义工厂类实现IoC的例子二. 改造代码,去除MovieFinderFactory三. 应用Autofac替代工厂类四. 当需求发生变动, Autofac如何应对?五. Autofac对程序架构的影响六. 总结一、使用自定义工厂类实现IoC的例子我们回顾一下之前的 阅读全文

下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍

2014-09-04 07:22 by JustRun, 16861 阅读, 收藏,
摘要: 随着VS2013的发布,微软在Asp.Net中引入了很多新的特性,比如使用新的权限验证模块Identity, 使用Async来提高Web服务器的吞吐量和效率等。其中一个不得不提的是OWIN和Katana. OWIN的全称是Open Web Interface For .Net, OWIN是.Net开... 阅读全文

理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用

2013-06-30 11:32 by JustRun, 15847 阅读, 收藏,
摘要: 阅读目录:一.为什么是它们三个二. 能够任意赋值的原因三. dynamic的用法四. 使用dynamic的注意事项一. 为什么是它们三个?拿这三者比较的原因是它们在使用的时候非常相似。你可以用它们声明的变量赋任何类型的值。看看下面的示例:var a = 1;object b = 1;dynamic c = 1;你还可以使用关键字为它们赋上更加复杂的类型var a = new string[]{"1"};object b = new string[]{"1"};dynamic c = new string[]{"1"};二. 能够任意赋 阅读全文

IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)

2013-03-24 16:25 by JustRun, 15134 阅读, 收藏,
摘要: 上篇文章中,举了一个Autofac的简单例子,园友eflay反应:“虽然对autofac架构原理还是完全不懂,不过基本是明白ioc的用途了,会从已注册的类中找出符合接口的类来调用构造函数进行构造”所以这篇文章,还是针对上次的例子,不引用Autofac,完全使用自己写的FakeAutofac, 也让Demo运行起来.由于本篇文章和以前文章关联度很高,源代码也是从以前的演化过来的。没有看过以前文章的园友,麻烦移步这里, 下载第二篇的源代码,思考一下如何实现例子中Autofac使用到的功能。IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用IocIoC容器Autofac(2) - 阅读全文

IoC容器Autofac(4) - Autofact + Asp.net MVC + EF Code First(附源码)

2013-03-28 08:00 by JustRun, 14924 阅读, 收藏,
摘要: 本篇文章,讲解如何使用Auotfac, Asp.net MVC和EF Code First,搭建一个松散的架构。 例子代码主要完成的功能是:列出数据库中Student表中的所有学生信息。阅读目录:一、 使用Entity Framework Code First, 写代码创建Student表二、使用Migrations, 生成数据库和初始化数据三、创建Controller方法和View四、正式项目开发中的困境五、解耦合,脱离数据层六、实例化,可恶的实例化七、使用Autofac依赖注入八、总结一、使用Entity Framework Code First, 写代码创建Student表 public 阅读全文

理解C# 4 dynamic(4) – 让人惊艳的Clay

2014-01-22 07:27 by JustRun, 14831 阅读, 收藏,
摘要: Clay非常类似于ExpandoObject, 可以看做是ExpandoObject的加强版. 它们能够让我们在不需要定义类的情况下,就构建出我们想要的对象。Clay和ExpandoObject相比,提供了更加灵活的语法支持,让我们像写javascript代码一样写C#代码,同时还能够用于构建多层级的复杂对象。阅读目录:一、多种方式初始化对象二、构建神奇的Array三、为对象动态添加方法四、动态的实现接口五、Clay的应用背景六、Clay的Sample一,多种方式初始化对象1, 最简单的对象构建和初始化dynamic New = new ClayFactory();var person = N 阅读全文

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

2014-05-14 14:01 by JustRun, 14461 阅读, 收藏,
摘要: 上一篇得到大家的关注,非常感谢。一些朋友评论中,希望快点出下一篇。由于自己对于这些模式的理解也是有限,所以这一篇来得迟了一些。对于这些模式的比较,是结合自己的理解,一些地方不一定准确,但是只有亮出自己的观点,才能抛砖引玉不是? 欢迎各位拍砖。:)阅读目录:四.MVP模式 4.1MVP的思想 4.... 阅读全文

下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用

2014-09-09 07:50 by JustRun, 13130 阅读, 收藏,
摘要: 接上篇OWIN产生的背景以及简单介绍,在了解了OWIN规范的来龙去脉后,接下来看一下Katana这个OWIN规范的实现,并看看如何使用在我们的Web开发中。阅读目录:一. Katana项目的结构和包含的内容 1.1 Host 1.2 Server 1.3 Middleware 1.4 Applica... 阅读全文

理解C# 4 dynamic(2) – ExpandoObject的使用

2013-07-23 22:35 by JustRun, 10029 阅读, 收藏,
摘要: ExpandoObject的使用非常简单,很容易入手。上一篇里面已经有详细的介绍了,可以看这里(理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用)下面对ExpandoObject的使用场合和一些认为需要注意的地方,谈一下自己的看法:一,ExpandoObject使用场合在传递对象,但是又不想创建一个class或者struct的时候,ExpandoObject就是一个非常好的选择。假如我们有一个SendMail的函数,功能是发送一个通知邮件给客户,邮件的文本模板,如下:Dear [Name],We have sent the gift 阅读全文

.Net开源网络爬虫Abot介绍

2014-05-31 11:21 by JustRun, 9866 阅读, 收藏,
摘要: .Net中也有很多很多开源的爬虫工具,abot就是其中之一。Abot是一个开源的.net爬虫,速度快,易于使用和扩展。项目的地址是https://code.google.com/p/abot/对于爬取的Html,使用的分析工具是CsQuery, CsQuery可以算是.net中实现的Jquery, ... 阅读全文

理解C# 4 dynamic(3) – DynamicObject的使用

2013-08-14 21:36 by JustRun, 9853 阅读, 收藏,
摘要: 上篇文章"理解C# 4 dynamic(2) – ExpandoObject的使用" 了解了ExpandoObject的基本使用。但ExpandoObject的问题就是它是一个万金油,什么都可以做,但是又都不专注。使用DynamicObject正好可以解决这个问题。这篇文章介绍DynamicJson是如何继承DynamicObject,包装一个用来处理Json的动态类型。阅读目录:一、JS可以灵活处理Json字符串二、DynamicObject分析三、DynamicJson代码四、总结一,JS可以灵活处理Json字符串看下面的代码,var jsonString='{ 阅读全文

使用PhoneGap开启移动开发之旅

2014-07-02 07:54 by JustRun, 9721 阅读, 收藏,
摘要: 移动市场风起云涌,只是好像和悲催的.net程序员隔绝。我们内心中一直期待的Windows Phone终究不能匹及windows, 随着时间的流逝,windows phone越来越像扶不起的阿斗,连微软自己有念头放弃. 看新闻上,微软打算让windows phone支持Android应用,Nokia出... 阅读全文

.Net Attribute详解(上)-Attribute本质以及一个简单示例

2013-11-27 08:10 by JustRun, 9436 阅读, 收藏,
摘要: Attribute的直接翻译是属性,这和Property容易产生混淆,所以一般翻译成特性加以区分。Attribute常常的表现形式就是[AttributeName], 随意地添加在class, method的头上,然后就能够产生各种各样奇特的效果和行为。比如关于序列化的标签[Serializable]用来指定一个实体类可以序列化。[NonSerialized]可以用来指定某些属性不包含在序列化中。一, Attribute本质是什么?Attribute类似于标签, 可以为类,方法,结构体,属性,委托等贴上标签,在以后的实际执行时候,根据不同的标签做不同的处理。拿类做个比方,如果把一个类看做一个人 阅读全文

代替Reflection(反射)的一些方法

2014-07-08 08:00 by JustRun, 9309 阅读, 收藏,
摘要: Reflection(反射)是深入学习.Net必须掌握的技能之一。最初学Reflection的时候,的确是被惊住了,原来还可以这样。只要给你一个Assembly, 你就能获取到其中所有的类型,根据类型,你能够创建和操作对象的属性和方法,甚至是私有的。但是,每次使用Reflection,看着那些丑陋难... 阅读全文

Asp.net MVC使用Filter解除Session, Cookie等依赖

2013-08-24 11:43 by JustRun, 9281 阅读, 收藏,
摘要: 本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景。 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖。如果大家有什么好的Filter应用方法,希望一起多交流。阅读目录:一、Filter在MVC生命周期中的位置二、Filter常见的应用场景三、Filter的执行顺序四、MVC中常见的对于Session, Cookie的依赖五、使用Filter解除依赖1. Filter在MVC生命周期中的位置下面的图中, 一个完成的MVC的生命周期分为5个步骤, 对应图例中的1~5IIS中传递请求到程序MVC根据Routing来 阅读全文
1 2 3 4 5 ··· 10 下一页