11 2010 档案
摘要:项目组目前开发的基于OEA框架的GIX4项目,本次功能已经完成得差不多了,本次迭代的目标主要是提升产品的性能。由于GIX4是C/S结构的应用程序,所以决定实现缓存模块来提升高繁数据访问的缓存。 本篇文章主要介绍了OEA框架中的缓存模块设计与一般的缓存有什么不同,如何在OEA框架中实现缓存模块。分为以下几个小节: 一般缓存介绍 OEA缓存目标 概要设计 通用缓存框架的详细设计 OEA中集成Cache的详细设计 小结 一般缓存介绍 网上介绍缓存的文章比较多,在这里我就挑点重点说一下。 缓存是信息系统软件硬件设计中常用的设计方法:从底层硬件的CPU结构中的多级缓存,到软件中操作系统中内存
阅读全文
摘要:以下,我使用一个实例,分享一下用于简化泛型API设计的小技巧,“如何在泛型方法调用时,过滤掉可以隐式推断出的泛型参数”: 原有设计: 系统中原来有这样一个静态的泛型API:使用方法:可以看到,该方法虽然可以从参数中隐式推断出 P 的具体类型,但是无法推断出 T 的具体类型,所以需要显式指定T的类型。由于语法特性的问题,我们不能使用RegisterPropertyUser(e = e.Code)的方法来只传递一个泛型参数给API;导致在使用该方法时,不得不把所有的的泛型参数都显式指定,也就是上面的使用方法。灵光一现: 如何做到不传递第二个泛型参数呢?在N天之后,发现了以下这个方法可以简化
阅读全文
摘要:最近在学ASP.NET MVC,画了一些图,和大伙分享下:Routing 组件图1 独立的ASP.NET Routing组件MVC-Controller图2 Controller结构图3 Controller中可用的ActionResultMVC-View图4 使用的抽象工厂模式的视图引擎图5 视...
阅读全文
摘要:IT 人应具备的一些素质 设计杂谈 WPF框架使用有感: 不熟悉框架的时候,使用框架写出来的上层代码很多都是无用的、杂乱的,这也正反映了底层知识的不足。 随着不断的学习深入,逐渐地对这些上层代码进行重构。每一次精简,都是对底层知识的积累。 忽然有一天,你发现代码被重构得非常简练了,其实也会发现原来基
阅读全文
摘要:“After a storm comes a calm.” — Matthew Henry 本篇文章翻译自《http://sourcesofinsight.com/2010/08/15/day-15-achieve-a-peaceful-calm-state-of-mind/》。 你的结果 经过本次课程和训练,你将可以把你的思维从混乱中摆脱,让你的大脑保持在一个清醒、放松、敏锐的状态。 什么是大脑的最佳状态 回忆一下,曾经在什么时候,你大脑是你认为的最佳状态呢? 首先,你的大脑是干净的、清澈的,就象第一次看见遥远的山谷一样,你所想的事都非常清晰,不会想一些多余的事情。 其次,你的大脑在
阅读全文
摘要:本篇反思总结了一般的学习过程。掌握学习的方法,可以让你更高效地进行学习。这对于天天要学新技术的IT人员来说,是非常重要的。 本文反思了自己学习WPF过程中出现的一些问题,然后对以后学习的方法进行了重新设计。 本文的主要内容: 与学习相关的哲学思想原来的学习方案设计工具的反思没学好的原因新的方案 相关
阅读全文
摘要:前两天在另外一个部门学习了他们的系统架构和框架。下面是自己在张上画的结构图:
阅读全文
摘要:此文属转载,原文链接:http://www.cnblogs.com/viter/archive/2010/11/03/1868377.html正文如下:我承认,这个标题很沉重。我有幸使用了一个开源的项目作为小范围内的二次开发应用。这个项目其实是挺大的,开源代码仅是其中一部分,在二次开发中我对源代码作了一些改进,都是一些必要的改进以及发现的BUG;这些BUG在后续的开源参与者一一修复。我想说的是重构...
阅读全文
摘要:前不久学习了《EFCachingProvider》,该扩展包不但可以用于EntityFramework的扩展,所有与数据库连接相关的应用程序都可以使用类似的方案进行扩展。今天做个小的总结,以方便以后回顾。 总体描述 关于EFCachingProvider是什么及如何使用它,请看园子的这篇文章:《 Entity Framework 缓存处理与日志监控 》。我主要说一下内部代码实现的原理机制。 园子文章的图中,画出了EFCachingProvider所扩展的位置: 也就是说,EntityConnection不是直接使用SqlClient中间的SQLConnection,而是通过...
阅读全文