上一页 1 ··· 332 333 334 335 336 337 338 339 340 ··· 390 下一页
摘要: 回到目录 分布式缓存,消息队列,替代Session呵呵(Session太不稳定了,呵呵)=Redis Redis的崛起绝非偶然,它确实有自己的新东西在里面,它不像Memcached,只能将数据存储在内存中,它提供了持久化机制,避免了場机后的雪崩的问题,即服务器出现问题后,内存中保留的原始数据全部丢失 阅读全文
posted @ 2012-05-15 16:57 张占岭 阅读(34775) 评论(0) 推荐(3)
摘要: 回到目录本文中的“二”,指的是二进制,即看见2就进一,也叫逢二进一,它是最为简单和清晰的数据,在现实生活中,人们用的最多的就是十进制数据,即逢十进一,看一下例子:二进制: 十进制0 001 0110 0211 03100 04看到了吧,在二进制中,不会出现比1大的数,除了0就是1,而在十进制中,不会出现10,它由0~9这10个数字组成。在我们的C#中,位运算分为左位移和右位移,分别用<<和>>表示,左移相当于向左移位,右面补0,例如:10 << 1 它的含义是10 0,它最后的结果就是100,相当于10进制的4,这时我们难看出左移1位,相当于乘2操作,返之还 阅读全文
posted @ 2012-05-09 17:31 张占岭 阅读(859) 评论(0) 推荐(1)
摘要: 回到目录首先将来说一下Dispose是什么东西吧,对于我们使用非托管的资源时,需要自己去实现Dispose这个方法,它的含义就是释放使用的内存空间。例如Stream这个类型,它就是一个非托管类型,它会实现一个IDisposable接口,来实现Dispose方法像TransactionScope,.net事务,它也是一个非托管的,也就是说,我们在使用完事务后,需要自己去进行Dispose()操作,下面问题就来了,这个Dispose写在哪里合适呢?注意看这段代码:using (TransactionScope trans = new TransactionScope()) { ... 阅读全文
posted @ 2012-05-08 16:46 张占岭 阅读(968) 评论(2) 推荐(2)
摘要: 在进行项目整体架构设计时,我们应该明确知道哪些项目是可以被重复再利用的,而哪些项目是与领域模块关系密切的,对于后者我们是应该在解决方案中保留的,而前者则是应该提取出来的。在一个完整的解决方案中,应该是由“公用的类库”,“核心的项目基础层”和“与业务领域关系密切个性项目组”组成的,对于我开会的那个项目来说,也是遵循这样一个原则:将与领域和项目无关的项目进行抽象,形成一个最基础的层,称为Project.Common将与架构模式有关,而与领域无关的项目,形成一个架构模式核心层,称为Project.Core将与指定领域有关的,个性化业务组成的代码,叫做领域层,它的名称由项目含义确定在这篇文章里,我们主 阅读全文
posted @ 2012-05-06 23:18 张占岭 阅读(1501) 评论(1) 推荐(2)
摘要: 本文章主要以上一篇文件的代码在写法上进行一个优化,更代码更精简,更能发挥.net 3.5为我们提供的已有功能,呵呵!首先,为了只有返回值的委托来说,我们是不用再去定义它的,完成可以用.net提供的Func<T>这个委托来实现同时,这个委托也支付多个输入参数的情况,和Func<>对应的一个委托叫Action<>,它没有返回值,可以由多个输入参数,下面是对Func<> 委托的使用实例,同样使用上一篇文章作为例子public class ReturnMessage { public static event Func<string> Ret 阅读全文
posted @ 2012-05-04 11:27 张占岭 阅读(1017) 评论(0) 推荐(1)
上一页 1 ··· 332 333 334 335 336 337 338 339 340 ··· 390 下一页