Fork me on GitHub

2013年5月2日

摘要: Javascript:继续实现继承,支持:this.callParent(arguments)背景在上篇文章中,我简单的介绍了如何实现单继承。只是在子类中调用父类方法的方式让人感觉不是很爽:1 var Animal = function () {2 Animal.super().constructor.apply(this, arguments);3 };今天这篇文章的目的就是简化这种调用方式,期望的调用方式如下:1 var Animal = function () {2 this.callParent(arguments);3 };如何实现callParent呢?只要做到如下... 阅读全文
posted @ 2013-05-02 10:16 HackerVirus 阅读(284) 评论(0) 推荐(0)
摘要: 30分钟泛型教程一、泛型入门:我们先来看一个最为常见的泛型类型List<T>的定义(真正的定义比这个要复杂的多,我这里删掉了很多东西)[Serializable]public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>{ public T this[int index] { get; set; } public void Add(T item); public void Clear(); public bool Contains(T item); public in 阅读全文
posted @ 2013-05-02 10:08 HackerVirus 阅读(160) 评论(0) 推荐(0)
摘要: 分享iOpenWorks插件仓库中非常简单强大的定时调度插件的使用目前iOpenWorks平台已经集成了一个定时调度器插件,它基于流畅接口编程快速实现各种定时任务的实现,比系统自动的Timer类功能强大且好用。下面我们来看看这个示例如何使用这个插件。1 准备工作1.1 安装iOpenWorks插件开发平台首先安装iOpenWorks插件开发框架,你可以从http://www.iopenworks.com/Products/SDKDownload下载插件框架,这个插件框架是免费的,适合于.NET平台下ASP.NET、MVC、WinForm、WPF等任意应用,支持.NET Frameworks 2 阅读全文
posted @ 2013-05-02 09:44 HackerVirus 阅读(1434) 评论(0) 推荐(0)

2013年5月1日

摘要: 深度剖析Byteart Retail案例:基于MongoDB的仓储实现今天花了半天时间,向Byteart Retail案例加入了基于MongoDB的仓储实现,读者朋友可以直接从Byteart Retail的代码库克隆最新代码来使用基于MongoDB的仓储实现。实现步骤1、重构ByteartRetail.Domain.Repositories目录结构本来这一步是不需要做的,但是因为之前没有把结构规划好,所以所有基于Entity Framework的仓储实现都放在了根目录下。现在把这些仓储的实现都移到了EntityFramework目录中,同时修改了命名空间和ByteartRetail.Servi 阅读全文
posted @ 2013-05-01 20:37 HackerVirus 阅读(362) 评论(0) 推荐(0)
摘要: 每天学一点Vim(一)前言引子 之前一直没有写博客的习惯,以前开了博客也没怎么坚持,感觉近几年总是一直都是处于学习-遗忘-再学习的恶性循环中,究其原因,是对已学的知识没有一个整理-总结-吸收的过程,关于为什么要写博客,可以全参考刘未鹏的《暗时间》一书。 开设这个《每天学一点Vim》系列,一是为了出于对vim的喜爱,二是希望能对已学到的内容进行积累和分享,三是希望不管是何种段位的vimer能够互相交流。 本系列的内容基本不涉及Vim入门及基本操作,本部分已经有很好的vimtutor和vim user-manual可以参考(已有热心的vimer将这几个部分都翻译成了中文,我也从中受益匪浅,感... 阅读全文
posted @ 2013-05-01 20:35 HackerVirus 阅读(302) 评论(0) 推荐(0)
摘要: 在文档底部放置脚本定义或引用前言网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考Best Practices for Speeding Up Your Web Sitehttp://developer.yahoo.com/performance/rules.html同时,他们还发布了一个相应的测试工具Yslowhttp://developer.yahoo.com/yslow/我强烈推荐所有的网站开发人员都应该学习这些最佳实践,并 阅读全文
posted @ 2013-05-01 20:33 HackerVirus 阅读(246) 评论(0) 推荐(0)
摘要: 在 ASP.NET MVC4 中使用 NInjectNinject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。MVC4 配合 Ninject 3 更是如虎添翼。1.问题场景在 MVC 的开发中,我们通常会使用到后台的数据,比如说需要获取一个后台的信息。通常会定义一个访问信息的接口,然后,有一个类实现了这个接口。public interface IMessageProvider{ string G... 阅读全文
posted @ 2013-05-01 20:32 HackerVirus 阅读(246) 评论(0) 推荐(1)
摘要: 领域驱动设计中面向经典分层架构的领域事件的设计与实现在我开发的《Byteart Retail》案例中,已经引入了领域事件(Domain Events)的实现部分,详情请见之前我写的一篇文章:《深度剖析Byteart Retail案例:领域事件(Domain Events)》。经过一段时间的学习和思考,对于领域事件的设计与实现也有了新的认识。在本文中,首先让我们一起了解一下Byteart Retail案例中领域事件的实现有哪些弊端,然后再对领域驱动设计中领域事件的设计与实现进行讨论。由于文中有不少地方都是出自Byteart Retail案例,因此,本文仍然可以看成是《深度剖析Byteart Re 阅读全文
posted @ 2013-05-01 12:46 HackerVirus 阅读(336) 评论(0) 推荐(0)
摘要: 对资源添加缓存控制前言网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考Best Practices for Speeding Up Your Web Sitehttp://developer.yahoo.com/performance/rules.html同时,他们还发布了一个相应的测试工具Yslowhttp://developer.yahoo.com/yslow/我强烈推荐所有的网站开发人员都应该学习这些最佳实践,并结合自己的 阅读全文
posted @ 2013-05-01 12:40 HackerVirus 阅读(298) 评论(0) 推荐(0)
摘要: 自己写Web服务器(续)前几天写了篇有关写Web服务器的博文,写得不好,多亏园友们的意见,给了我继续探究的动力。这篇就关于上次做的Web服务器做了些更改。 1.支持ASPX页面的访问多亏了园友的提点,使用了ApplicationHost类,使得宿主程序能够处理ASP.NET请求。后来上网搜了一下,原来就是写一个ASP.NET的宿主程序。上MSDN看了一下还不怎么明白,终究还是找了一些博文来看才明白。ApplicationHost属于System.Web.Hosting命名空间,要使用这个类要添加System.Web.dll引用。先上一点代码再解释吧1 private... 阅读全文
posted @ 2013-05-01 12:33 HackerVirus 阅读(342) 评论(0) 推荐(0)