Fork me on GitHub

2012年4月16日

摘要: 软件复杂度的根本,来源于思维的复杂度。三层架构从DDD看三层DDD的三层实现详细架构看代码业务域 (Domain)持久层 (数据层)测试和使用的例子完整代码下载得心应手武器库:Fluent nHibernatenUnitGit (GitHub)本文所涉及使用的工具, 见前文:我的.Net武器库 ------ 新.Net架构必备工具列表三层架构相对于目前日新月异的新概念,新名词,三层架构已经算得上元老了。虽仍有争议,但业界更多的是共识。图1 常用三层的描述图足够简单、清晰,我仍要提醒的是,注意层之间连线的箭头,非常之重要,借用UML的定义,箭头表示依赖关系。也就是说,必须先有数据层,才有业务层, 阅读全文
posted @ 2012-04-16 09:55 HackerVirus 阅读(434) 评论(0) 推荐(0)

2012年4月15日

摘要: 重写用关键字 virtual 修饰的方法,叫虚方法。可以在子类中用override 声明同名的方法,这叫“重写”。相应的没有用virtual修饰的方法,我们叫它实方法。重写会改变父类方法的功能。看下面演示代码:#region重写publicclassC1{publicvirtualstringGetName(){return"徐明祥";}}publicclassC2:C1{publicoverridestringGetName(){return"xumingxiang";}}C1c1=newC1();Console.WriteLine(c1.GetNam 阅读全文
posted @ 2012-04-15 14:47 HackerVirus 阅读(260) 评论(0) 推荐(0)
摘要: Quartz.NET 项目地址http://quartznet.sourceforge.net/Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介Quartz.NET 2.0 学习笔记(2) :和1.0的几点不同Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度Quartz.NET 2.0 学习笔记(4) :cron表达式Quartz.NET 2.0 学习笔记(5) :实例创建Windows服务实现任务调度使用普通Windows服务创建Quartz.Net服务项目首先创建Quartz.Net.2.0解决方案,添加 Windows服务 项目,添加安装程 阅读全文
posted @ 2012-04-15 14:45 HackerVirus 阅读(449) 评论(0) 推荐(0)
摘要: 起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 耦合性分类(低――高): 无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合;内容耦合;1 无直接耦合:2 数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;3 标记耦合: 指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名 阅读全文
posted @ 2012-04-15 14:35 HackerVirus 阅读(3125) 评论(0) 推荐(0)

2012年4月14日

摘要: 4月1日消息,美丽说的百度指数一夜之间飙升10倍,用户关注度高达136万次,而与美丽说类似的社会化电商网站蘑菇街一直稳定在11-13万之间,波动幅度较小,有业内人士称,此次百度指数的飙升或与美丽说融资有关。能够影响百度指数变化的因素不多,正常情况下通过有效的网络推广、广告投放能够在一段时间提升百度指数,但是在一夜之间飙升10倍的情况还没有见过。之后,又看到许多业内人士都在讲美丽说的SEO非常牛。那就让我们看看它都牛在哪。先来看看美丽说的一些数据美丽说号称日PV3000万+,一天300多万的IP(待考证),每人几乎都有几百粉丝,有些人甚至几十万,每月为淘宝带去的交易额达7亿。190万的UV就能制 阅读全文
posted @ 2012-04-14 10:44 HackerVirus 阅读(390) 评论(0) 推荐(0)
摘要: 理解Prism中MVVM的Command与CommandParameter内容摘要接上一讲(http://www.cnblogs.com/chenxizhang/archive/2012/04/13/2446415.html),这一讲中我使用Prism做了演示和比较。Prism不仅仅是一个MVVM框架,它还包含其他的模块。在MVVM这个层面,Prism有些特殊性(Command绑定有特殊语法),这也是我这一讲的主要内容。Prism的下载链接http://compositewpf.codeplex.com/视频地址http://www.tudou.com/programs/view/72Ag1k 阅读全文
posted @ 2012-04-14 10:44 HackerVirus 阅读(340) 评论(0) 推荐(0)
摘要: -C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑。 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^。 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱。 但仅仅背过这句话是不够的。 C#程序员不必手工管理内存,但要编写高效的代码,就仍需理解后台发生的事情。 在学校的时候老师们最常说的一句话是:概念不清。最简单的例子,我熟... 阅读全文
posted @ 2012-04-14 10:27 HackerVirus 阅读(177) 评论(1) 推荐(0)
摘要: 在前一篇博文中,我们简单的分心了node,用node建立了一个文件解析服务器,并且在服务器中进行了WEB寻址的操作。通过这些操作,我们已经可以把一个简单的静态网站搭设在服务器之上了(http://www.cnblogs.com/xiao-yao/archive/2012/03/30/2425716.html)。当然,仅仅完成这样的一个步骤还是远远不够的,我们需要的不是通过node搭设一个静态网站,而是通过node搭设一个完整的应用。那么我们可以想想下一步操作应该做什么了。没错,我们来尝试一下数据库的简单操作。在尝试之前,我们需要来学习一个新的模块:querystring模块。querystri 阅读全文
posted @ 2012-04-14 10:26 HackerVirus 阅读(228) 评论(0) 推荐(0)
摘要: 十年灯只做简单的事XScroll.js更新:加入交错切换效果,附思路原XScroll发布文见此:http://www.cnblogs.com/lixlib/archive/2012/03/21/javascript-tupian-qiehuan-xscroll_js.html2012-4-13:加入了交错切换效果。看示例页第一个例子——现在我可以说XScroll.js支持17种切换效果了吗。。。还是心虚所谓的交错切换,就是当前图片向左移动,下一张图片向右移动,各自移动到一半时,就都往回移动,但此时图片叠加顺序改变,下一张图片将覆盖当前图片。交错切换也支持4个方向。交错切换的实现思路:首先,不可 阅读全文
posted @ 2012-04-14 10:24 HackerVirus 阅读(281) 评论(0) 推荐(0)
摘要: Node.js和Geddy初学者指南 - 第三部分:使用Mongdb持久化你的数据在这个三个部分的教程中,我们教大家使用Node.js和Geddy来创建了一个todo的管理应用,上一篇我们将数据保存在内存中,在这个系列最后一篇文章中,我们将介绍如何将todo项目保存到mongodb中。介绍MongoDBMongoDB是一个由10gen开发的Nosql类型的数据库。这是node应用可以使用的超棒的数据库,它将数据保存为JSON格式。并且所有的查询都是使用javascript开发的。如果你想深入了解Mongdb,请参考这两篇文章:Nosql数据库教程之初探MongoDB - 第一部分和Nosql数 阅读全文
posted @ 2012-04-14 10:23 HackerVirus 阅读(282) 评论(0) 推荐(0)