Fork me on GitHub

2012年7月24日

摘要: 引言软 件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言 的基础。随着编程语言和技术的发展,各种语言特性层出不穷,面向对象是大部分语言的一个基本特性,像C++、Java、C#这样的静态语言,Ruby、 Python这样的动态语言都是面向对象的语言。但 是面向对象语言并不是银弹,如果开发人员认为使用面向对象语言写出来的程度本身就是面向对象的,那就大错特错了,实际开发中,大量的业务逻辑堆积在一个巨 型类中的例子屡见不鲜,代码的复用性和扩展性无法得到保证。为了解决这样的问题,领域驱动设计提出了清晰的分层架 阅读全文
posted @ 2012-07-24 14:21 HackerVirus 阅读(208) 评论(0) 推荐(0)
摘要: 目前对一个大型的web业务系统进行修修补补,增加功能,完成工作之余,不得不对大量冗余的工作量表示抱怨。一个好的系统应该 对修改关闭,对扩展开放。下面开始意识流。。。。统一的命名规范与接口 命名规范没什么好说的,一个团队不一定要找最好的规范,但是必须统一。 接口与敏捷开发有些许的冲突,互联网的日新月异,敏捷的快速迭代,貌似不能再开发初期就把整个系统设计好。不过还是有很多的规范或者习惯在项目或者说全部开发初期约定好,比如方法名称的命名方式,重载的命名方式,参数顺序等等等等。 几个简单的例子。GetList的时候 返回值尽量用 IEnumable 而不是 List或者IList。重载的时... 阅读全文
posted @ 2012-07-24 14:21 HackerVirus 阅读(165) 评论(0) 推荐(0)
摘要: 本节摘要:最近频繁的去生产环境部署和发布项目,用了不少的linux命令,把这些用到的命令做一下总结和记录。linux命令汇总:先做几点声明:(1).这些命令是在redhat linux上运行的,在IBM AIX上使用可能有些就不行;(2).我并不会去介绍所有的命令,每个命令我也并不会去介绍所有的参数,我只介绍我用到并且是常用的;(3).介绍不分顺序,我只是对近一段时间用到的命令做一下回顾和总结;(4).我用root用户登录linux系统,然后在根目录下建了一个pantp目录,后面截图为黑底白字的操作都是在这个目录下进行;(5).命令下的(1)、(2)表示该命令常用的几种形式;.ls---显示当 阅读全文
posted @ 2012-07-24 09:35 HackerVirus 阅读(213) 评论(0) 推荐(0)
摘要: 摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。这篇来说说静态的Interlocked类和ReadWrite锁.NET中的InterlockedInterlocked的系列方法提供了对简单类型的原子操作(不会被打断的操作),因此这也是一种多线程共享变量,防止冲突争用的方法。比如下面的方法作用是以原子的方式递增整数i:?12inti = 0 ;Interlocked.Increment( refi);除此之外还包括Add、Exchange、CompareExchange、Decrement、Read和其中的某些泛型版本。如果看官使用过wi 阅读全文
posted @ 2012-07-24 09:28 HackerVirus 阅读(297) 评论(0) 推荐(0)
摘要: 许多研究都表明,用户最满意的打开网页时间,是在2秒以下。用户能够忍受的最长等待时间的中位数,在6~8秒之间。这就是说,8秒是一个临界值,如果你的网站打开速度在8秒以上,那么很可能,大部分访问者最终都会离你而去。 Google做过一个试验,显示10条搜索结果的页面载入需要0.4秒,显示30条搜索结果的页面载入需要0.9秒,结果后者使得Google总的流量和收入减少了20%。 Amazon的统计也显示了相近的结果,首页打开时间每增加100毫秒,网站销售量会减少1%。 由此可见,网页的打开速度,对于一个站长,尤其是对于营利性网站来说,是多么重要。但是,从输入网址到网页全部打开,这段时间内,浏... 阅读全文
posted @ 2012-07-24 09:23 HackerVirus 阅读(221) 评论(1) 推荐(0)
摘要: 最近3周一直都在学习Prism,留下点笔记,梳理下思路......要点1: 在CAL中,模块是实现Imodule接口的类,此接口仅包含一个方法,成为称为Initializae。如果把引导程序看做应用程序的Main方法,那么Initialize方法就是每个模块的Main方法。要点2: 对于Module中的Initialize方法中,提到的_contianer 和 _regionManager的作用需讨论一下。如果接口并未定义他们,那么他们从何而来?我们是否需要将逻辑硬编码到模块中以找出这些依赖关系? 幸运的是,后一个问题的答案是“否”,此时,IoC容器就派上用场。加载此模块时,它从容器中被解析出 阅读全文
posted @ 2012-07-24 09:19 HackerVirus 阅读(415) 评论(0) 推荐(0)

2012年7月23日

摘要: 继续学习python中,越来越发现python的方便,也找到了一些python与C/C++的一些相同点与不同点。由于我看的书中缺乏编程练习题,我就在想如何能够尽快地熟悉python。由于我一直在参加算法竞赛,所以就想到了用Python去实现一些数据结构和算法。这类的编程通常不会用到太多的库,但却是锻炼基本功的很好的方法。程序写好后,可以花几分钟实践来总结一下所用到的知识点,这对初学者的效果非常好。下面是书中的一个例子程序,熟悉的八皇后问题,起个抛砖引玉的作用,这段时间我也会用实现一些更复杂的数据结构。 1 def conflict(state,nextX): 2 nextY=len(... 阅读全文
posted @ 2012-07-23 17:58 HackerVirus 阅读(233) 评论(0) 推荐(0)
摘要: js面向对象的那点事前言 最近在研读《js权威指南》对js的面向对象机制有了一定的了解,下面跟着实验来做下读书笔记"."运算符 在真正的去定义一个类前,我们先来看看js的一个运算符号".",它的作用是进行对象属性的存(写)取(读),它的用法是 存(写) 对象名.属性=值\对象\方法; 取(读) 对象名.属性; 下面来做个实验View Code1 var dog = new Object(); //新建一个dog的object对象 2 dog.name = "boby"; //名字,直接用.给与dog这个object对象添加name属性 阅读全文
posted @ 2012-07-23 17:57 HackerVirus 阅读(210) 评论(0) 推荐(0)
摘要: 一周最新示例代码回顾 (7/16 - 7/22)2012-07-23 11:27 by Jialiang, 420 阅读,1评论,收藏,编辑回顾上周微软一站式示例代码库最新发布的7篇示例代码:[Sample of July 22nd] VSTO Excel workbook customization该实例演示如何使用VSTO定制Excel工作簿[Sample of July 21st] Windows Forms single instance application该示例演示如何创建只允许运行单个进程的Windows Forms应用程序[Sample of July 20th] Named 阅读全文
posted @ 2012-07-23 14:41 HackerVirus 阅读(126) 评论(0) 推荐(0)
摘要: 以简求快 Java快速开发框架LML简介 直入正题,闲话少叙。 公司的形态,团队的状态,直接影响着我们对开发框架的选择。正如上一篇以简求快的博文所说,我们这样的小成本开发团队,更主要的是追求快而省。框架要开源,不必付出额外的成本;开发要快速,能够更迅速的跟进客户需求;代码要简单,任何经过简单培训的程序员都几乎能够胜任。 领导一直再给我们灌输快速开发的概念,在此处我予以沿用,不知道有没有区别于敏捷开发的概念。对于概念,我是一窍不通,希望能有牛人解答我心中的疑惑,在此不胜感激。快,对我们这样的轻型团队很重要,几乎也是最重要的一个因素。我们是不可能照着三年两年去做一个项目,这样我们的成本投入太多,反 阅读全文
posted @ 2012-07-23 09:27 HackerVirus 阅读(229) 评论(0) 推荐(0)