摘要:
做了很长时间的开发,也带过一些项目,有过很多成功和失败的经历。一些失败的项目不断促使自己思考如何才能把项目做成功,也看了一些关于项目管理和敏捷开发方面的书籍。自己总结下来,发现项目失败的原因大概是两方面:1. 缺少方法, 不知道如何应当使用那些方法来保障项目的成功。这个方面可以通过请教、多看书、不断实践来提高。2. 还有一个重要原因是人性的弱点,"超越规则"的侥幸心理。近期报道的中国式的过马路,凸显了国人不遵守规则的心理。因为人总会认为自己是个特例,明知道规则的情况下,总是认为自己能够超越规则而能够成功或者避免惩罚。这也是软件项目中同样的失败案例不断重现的原因,即使我们有前 阅读全文
随笔档案-2013年03月
IoC容器Autofac(4) - Autofact + Asp.net MVC + EF Code First(附源码)
2013-03-28 08:00 by JustRun, 14893 阅读, 收藏, 编辑
摘要:
本篇文章,讲解如何使用Auotfac, Asp.net MVC和EF Code First,搭建一个松散的架构。 例子代码主要完成的功能是:列出数据库中Student表中的所有学生信息。阅读目录:一、 使用Entity Framework Code First, 写代码创建Student表二、使用Migrations, 生成数据库和初始化数据三、创建Controller方法和View四、正式项目开发中的困境五、解耦合,脱离数据层六、实例化,可恶的实例化七、使用Autofac依赖注入八、总结一、使用Entity Framework Code First, 写代码创建Student表 public 阅读全文
Nuget如何自动下载依赖DLL引用
2013-03-27 15:10 by JustRun, 5423 阅读, 收藏, 编辑
摘要:
一、Nuget的不方便地方Nuget带了非常大的方便,添加第三方引用再也不用到处下载添加了。但是又带来了不方便,在使用了Nuget的项目中,一般都需要把引用提交到svn上,否则下载的源代码会缺少引用。如下图这样.那么有没有好的方法,既不用提交DLL到svn上,用能够让下载的源码能够很容易的编译运行呢?二、配置Nuget,让Nuget自动下载依赖DLL1. 右键Solution -> Enable Nuget Package Restore, 会生成一个.nuget文件夹2. 右键Solution -> Manage Nuget Packages for Solution...3. 阅读全文
IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)
2013-03-24 16:25 by JustRun, 15091 阅读, 收藏, 编辑
摘要:
上篇文章中,举了一个Autofac的简单例子,园友eflay反应:“虽然对autofac架构原理还是完全不懂,不过基本是明白ioc的用途了,会从已注册的类中找出符合接口的类来调用构造函数进行构造”所以这篇文章,还是针对上次的例子,不引用Autofac,完全使用自己写的FakeAutofac, 也让Demo运行起来.由于本篇文章和以前文章关联度很高,源代码也是从以前的演化过来的。没有看过以前文章的园友,麻烦移步这里, 下载第二篇的源代码,思考一下如何实现例子中Autofac使用到的功能。IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用IocIoC容器Autofac(2) - 阅读全文
IoC容器Autofac(2) - 一个简单示例(附demo源码)
2013-03-19 18:20 by JustRun, 17489 阅读, 收藏, 编辑
摘要:
上篇文章中(IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc),我们用自己的方式实现了一个简陋的工厂类来实现IoC.这里我们尝试使用Auotfac来替换我们的工厂类MovieFinderFactory.(Autofac的名字应当取的是非常贴切的,它本质上其实就是一个产出对象的自动工厂)阅读目录:一. 使用自定义工厂类实现IoC的例子二. 改造代码,去除MovieFinderFactory三. 应用Autofac替代工厂类四. 当需求发生变动, Autofac如何应对?五. Autofac对程序架构的影响六. 总结一、使用自定义工厂类实现IoC的例子我们回顾一下之前的 阅读全文
Javascript如何判断对象是否相等
2013-03-18 10:13 by JustRun, 1879 阅读, 收藏, 编辑
摘要:
在做表单页面的时候,想判断2个js对象,是不是所有完全相同。这里是stackoverflow上的解决办法,在这里记录一下。原文地址: http://stackoverflow.com/questions/1068834/object-comparison-in-javascriptObject.prototype.equals = function(x){ var p; for(p in this) { if(typeof(x[p])=='undefined') {return false;} } for(p in this) { if (this[p]) { ... 阅读全文
IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc
2013-03-17 23:14 by JustRun, 18687 阅读, 收藏, 编辑
摘要:
阅读目录:一. 一个没有使用IoC的例子二. 当需求发生变动时,非IoC遭遇到的困境三. 使用IoC彻底解决问题四. 总结一、一个没有使用IoC的例子IoC的全称是Inversion of Control,中文叫控制反转。要理解控制反转,可以看看非控制反转的一个例子。public class MPGMovieLister { public Movie[] GetMPG() { var finder = new ListMovieFinder(); var allMovies = finder.FindAll(); ... 阅读全文