Fork me on GitHub

2012年6月20日

摘要: 这个问题困扰了我很久,很觉得设计的不完善,终于在今天把它彻底解决了,其实就是一个C#里的基础知识问题,主要涉及到了,接口,抽象类,接口继承,类继承,多态等知识。事件是这样的,我有一个统一接口规范的接口,它可以由linq to sql,ado.net和ef等相关数据源去实现(只是举个例,不是实际中的代码) 1 /// <summary> 2 /// 数据统一接口规范 3 /// </summary> 4 interface ITest 5 { 6 /// <summary> 7 /// 插入方法 8 /// ... 阅读全文
posted @ 2012-06-20 22:06 HackerVirus 阅读(197) 评论(0) 推荐(0)
摘要: 小小吐糟一下,呵呵,相信一部分读者看博客,上来就所要源码,当年自己也这样过,其实,在博客这个地方,重要的是看大家的思路及与大家交流,源码都是其次的,否则你永远只会照葫芦画瓢,而不会产生自己的思维。另外其实我是一直都不提倡开源的,在天朝这个地方大家都知道的,现在大家都不敢创新,记住不是不会而是不敢,你的创新可能被别人很快的复制甚至超越(当别人资源优越于你时),所以程序猿很悲催,吃着青春饭,还要马不停蹄。好了,继续昨天的实例:不过只有简单的用户管理模块:列表、增加、修改、删除。主要是给大家提供个方法。下面我就直接贴图和代码了,相信也是大家最想看到的。列表:增加:修改:删除:大家可以写个通用JS把. 阅读全文
posted @ 2012-06-20 21:57 HackerVirus 阅读(266) 评论(0) 推荐(0)
摘要: 默认的规则在ASP.NET MVC4中global.asax.cs代码中并无注册默认路由规则的代码代码如下: public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); ... 阅读全文
posted @ 2012-06-20 21:56 HackerVirus 阅读(183) 评论(0) 推荐(0)
摘要: 一个成功的软件系统,往往需要根据需求在不同的系统平台上运行,为了解决系统在多个平台的移植带来的风险,业务架构往往会设计相应的平台适配层来隔离不同平台的差异,如何设计一个易于扩展的平台适配层,是软件设计人员需要考虑的问题。设计1:1: 提供平台接口文件os.h2:定义如下:#ifdef OS1#define OS_Fun OS1_Fun#endif#ifdef OS2#define OS_Fun OS2_Fun#endifvoid OS_Fun();3:通过定义不同的系统宏,这个头文件展开后也就成了对应的平台的接口层。4:业务代码直接调用OS_Fun()这个统一的接口即可。5:该设计只需要一个通 阅读全文
posted @ 2012-06-20 21:55 HackerVirus 阅读(407) 评论(0) 推荐(0)
摘要: 本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。关键段关键段(Critical Section)是一小段代码,它在执行之前需要独占对一些共享资源的访问权。这种方式可以让多行代码以“原子方式”对资源进行操控。这里的原子方式,指的是代码知道除了当前线程之外,没有其他任何线程会同时访问该资源。当然,系统仍然可以暂停当前线程去调度其他线程。但是,在当前线程离开关键段之前,系统是不会去调度任何想要访问同一资源的其他线程的。下面的代码展示了Critical Section的使用方法:?12345678910111213141516171819const i 阅读全文
posted @ 2012-06-20 13:37 HackerVirus 阅读(209) 评论(0) 推荐(0)
摘要: C H A P T E R 9■ ■ ■SportsStore: AdministrationSportsStore:管理In this final chapter on building the SportsStore application, we will give the site administrator a way of managing the product catalog. We will add support for creating, editing, and removing items from the product repository, as well as 阅读全文
posted @ 2012-06-20 13:35 HackerVirus 阅读(345) 评论(0) 推荐(0)
摘要: Visual Studio提供的Controller创建向导默认为我们创建一个继承自抽象类Controller的Controller类型,这样的Controller只能定义同步Action方法。如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲述两种不同的异步Action的定义方法和底层执行原理。目录一、基于线程池的请求处理二、两种异步Action方法的定义 XxxAsync/XxxCompleted Task返回值三、AsyncManager四、Completed方法的执行五、异步操作的超时控制一、基于线程池的请求处理ASP.NET通过线程池的机制 阅读全文
posted @ 2012-06-20 13:33 HackerVirus 阅读(188) 评论(0) 推荐(0)
摘要: EntityFramework之领域驱动设计实践【后续篇】:基于EF 4.3.1 Code First的领域驱动设计实践案例两年前我在博客中发布了《EntityFramework之领域驱动设计实践》系列文章,也得到了广大读者朋友的关注,在完成了系列文章的总结之后,也一直没有这部分内容的更新了。现在,Entity Framework的稳定版(就是那个Stable的版本,不是Entity Framework 5的beta版本)4.3.1已经逐步应用到各种.NET项目中,为了演示Entity Framework 4.3.1 Code First编程模式以及其它的一些.NET技术在领域驱动设计实践上的 阅读全文
posted @ 2012-06-20 13:29 HackerVirus 阅读(346) 评论(0) 推荐(0)
摘要: 本节对第三节的代码进行重构一下。我们发现$.computed其实也是一种$.observable,因此可以写成这样:var validValueType = $.oneObject("Null,NaN,Undefined,Boolean,Number,String")$.dependencyChain = (function () {var _frames = [];return {begin: function (ret) {_frames.push(ret);},end: function () {_frames.pop();},collect: function (s 阅读全文
posted @ 2012-06-20 13:23 HackerVirus 阅读(156) 评论(0) 推荐(0)
摘要: 缓存这个东西可大可小,小到一个静态的字段,大到将整个数据库Cache起来。项目开发过程中缓存的应用到处可见,在这篇博文中笔者就来谈谈自己的项目中关于缓存实现。 最常见的缓存功能,如C#语言中的Dictionary对象,应该至少包含以下几个功能:Init():缓存的初始化;如:Dictionary<int, object> dic = new Dictioinary<int, object>();Add():增加缓存;如:dic.Add(1, new object());Set():设置缓存 ;这里的Set()和Add()是有一点区别的,Add()的时候发现已存在的缓存, 阅读全文
posted @ 2012-06-20 12:32 HackerVirus 阅读(825) 评论(0) 推荐(0)