- 博客(24)
- 资源 (4)
- 论坛 (32)
- 收藏
- 关注
原创 你不知道的.NET-汪磊-专题视频课程
作为靠.NET吃饭的你,真的了解.NET吗?在开发过程中,你是不是会遇到某些不太理解的问题,由于赶进度顾不上仔细研究、或者不理解这些问题对继续项目没有影响,但是心里总感觉像有一根鱼刺一样如鲠在喉,时不时感到不舒服?本课程带你从一个全新的、独特的、“冷门”的视角,来近距离观察你所熟悉的.NET。...
2017-12-27 14:29:16
259
原创 带你读开源之EntityFramework-汪磊-专题视频课程
手把手带你阅读的ORM框架EntityFramework源码,教你掌握阅读开源代码的有效方法,在更加深入的了解EF的使用方法及其原理的基础上,你可以获得好的思想,激发编程灵感;学习常用的架构与模式;对于与自己工作领域相关的开源项目,阅读开源项目有助于发现解决问题的新思路;吸收别人的设计思想;学习他人的写法,提高自己的代码质量;学习项目的组织和设计,提高自己的组织代码的能力。...
2017-11-13 08:46:30
192
原创 【麻雀系列】中国象棋游戏开发实战(C#)-汪磊-专题视频课程
在你的程序猿修炼之路上有没有感觉到迷茫、没有目标、没有方向?有一颗持续精进的心、却感觉自己的技术进步碰到了天花板、遇到了瓶颈?曾经痴迷于设计模式、架构、框架等高大上的概念,却苦于无处下手?初出茅庐、没有行业经验,害怕难以胜任真正的企业开发?入职好几年,却始终在做一些添改删查的重复性工作,感觉自己毫无进步?好吧,跟着我们的“麻雀系列”课程出发吧,你会重拾自信、找回自我!...
2017-07-13 09:03:09
728
原创 联机俄罗斯方块游戏开发实战(C#)-汪磊-专题视频课程
本课程手把手的教你从零开始实现一款支持联机对战的俄罗斯方块游戏,强化大家关于面向对象的编程思想,突出设计模式在软件开发中的意义,强调重构对于编写高质量代码的极端重要性,明确编码规范的重要性,打磨软件架构的可维护性、可扩展性。...
2016-11-14 08:51:42
535
1
原创 带你读开源—ASP.NET_MVC(十五)
上篇讨论了BindSimpleModel方法,今天我们看一下BindComplexModel方法。代码段1为BindComplexModel方法的定义,执行过程是:首先检查请求的参数类型,依次按照数组、字典、集合、枚举、普通类的顺序进行处理。 internal objectBindComplexModel(ControllerContext controllerContext,
2016-09-22 20:34:48
540
原创 带你读开源—ASP.NET_MVC(十四)
上回书说到ModelBinderDictionary类的GetBinder方法的实现原理,今天继续解释第四条注释。 4、用户提供的备用Binder 这一条很简单,fallbackBinder是用户提供的一个备用Binder,从语句【returnbinder ?? fallbackBinder;】可以看出,如果第三条也没有得到合适的IModelBinder的话,则
2016-09-18 20:18:59
491
1
原创 带你读开源—ASP.NET_MVC(十三)
今天紧接上篇的进度,继续讨论ModelBinding。 为了衔接顺畅,把上篇最后一段代码再贴一遍,姑且称作代码段1吧。 protected virtual objectGetParameterValue(ControllerContext controllerContext, ParameterDescriptorparameterDescriptor)
2016-09-14 20:08:13
532
原创 带你读开源—ASP.NET_MVC(十二)
今天我们主要聊一聊WebViewPage这个类,为什么突然要研究这个类呢?大家还记得View中Razor视图引擎的.cshtml文件吧?它被MVC即时翻译成C#的类,这个类继承于WebViewPage类。对于强类型的Razor视图,.cshtml文件被翻译成WebViewPage泛型类,我们之所以能够在视图页面顶部用形如“@model string[]”的东东定义强类型的View,是因为MVC把其
2016-09-14 20:05:09
505
原创 带你读开源—ASP.NET_MVC(十一)
上篇说到HtmlHelper,今天继续这个话题。 我们在自己建立的MVC项目中,随便打开一个.cshtml文件,找到一个HtmlHelper调用,例如:@Html.TextBox("CustomerName"),把光标放在Html上,按F12进入其定义,即代码段1中的语句【public new HtmlHelper Html { get; set; }】。可见,@Html是Htm
2016-09-14 20:01:57
1066
原创 带你读开源—ASP.NET_MVC(十)
今天研究一下HtmlHelper,ASP.NET MVC框架有数量众多的Helper,包括内置的和用户自己定义的,这些Helper的存在,极大方便了实际开发。我们最为熟悉的莫过于HtmlHelper.ActionLink方法了,它用来在View中生成标签,也就是超链接。在源码中找到其定义,发现它有很多个重载,我们找到其中比较常用的重载版本,见代码段1。 public static
2016-09-09 21:02:59
590
原创 带你读开源—ASP.NET_MVC(九)
继续上篇的内容。 如果程序未定义Authentication和Authorization这两个过滤器,则执行InvokeActionMethodWithFilters方法以获取ActionResult,继而通过执行InvokeActionResultWithFilters方法来处理ActionResult。从名称可以猜测出,InvokeActionMethodWithFilter
2016-09-09 20:56:13
377
原创 带你读开源—ASP.NET_MVC(八)
上篇说到GetControllerTypeWithinNamespaces方法,我们跟踪进入其定义后,发现其调用了ControllerTypeCache.GetControllerTypes方法,从ControllerTypeCache这个名称我们就可以猜测出,它是从某个缓存中查找控制器类型的。跟踪之,进入代码段1。 public ICollection GetController
2016-09-09 20:50:55
561
原创 带你读开源—ASP.NET_MVC(七)
我们继续谈细节。 我们注意到ASP.NETMVC项目都包含一个Global.asax文件,这个文件代码很少,只包括三个方法,即RegisterGlobalFilters、RegisterRoutes、Application_Start。我们看RegisterRoutes方法的定义(代码段1)。 public static void RegisterRoutes
2016-09-09 20:47:57
916
原创 带你读开源—ASP.NET_MVC(六)
我们接着上一篇的进度,跟进到“带你读开源—ASP.NET_MVC(五)”代码段6中的Execute()方法的定义,发现它是WebPageExecutingBase类的一个抽象方法,而且我找遍了整个MVC源码,也没有找到Execute()方法的具体重写版本。我靠!一个抽象方法没有任何地方重写它,这是“什么鬼”?于是乎,我苦苦哀求度娘指点迷津,她老人家凭借渊博的知识给了我答案。还记得上一篇上标[1]处
2016-08-29 14:53:43
775
原创 带你读开源—ASP.NET_MVC(五)
书接上文,我们继续跟踪CreateView方法,发现它是一个抽象方法,好吧,我们发现BuildManagerViewEngine继承了VirtualPathProviderViewEngine,但是它并没有重写了CreateView方法,不要慌,我们继续摸索,发现RazorViewEngine和WebFormViewEngine(先不管他)又继承了BuildManagerViewEngine,在这
2016-08-27 12:38:35
1232
原创 带你读开源—ASP.NET_MVC(四)
上篇聊到ActionResult的ExecuteResult方法,今天继续。 我们首先看一下ActionResult的定义(代码段1),它是一个抽象类,只有一个抽象方法ExecuteResult。 public abstract class ActionResult { public abstract voidExecuteResult(Cont
2016-08-25 21:12:21
1239
原创 带你读开源—ASP.NET_MVC(三)
上篇说到ControllerActionInvoker的InvokeAction方法,今天继续。 谈点题外话,MVC中大量使用接口和IOC,即控制反转(或依赖注入),这个我们留个专题讨论。 在ControllerActionInvoker的InvokeAction方法实现中,主要用到了Filter,即过滤器。Filter我们一直没有提及,因为不想让它分散大家的注
2016-08-25 21:02:32
1011
原创 带你读开源—ASP.NET_MVC(二)
上篇文章从整体上介绍了ASP.NET MVC的请求处理流程,大概分为“路由”、“控制器”、“视图”以及“模型”,下面便按照流程依次展开。 一、路由 提到路由,实际上分为ASP.NET的核心路由引擎和MVC路由。核心路由引擎是不开源的(微软留了一手),它负责解析浏览器端传来的URL,并为之分配控制器。这里我们要分析的是MVC路由,即MvcRouteHandle
2016-08-25 20:40:53
1048
原创 带你读开源—ASP.NET_MVC(一)
憋了好久,今天终于腾出时间,开始“带你读开源”系列文章,正所谓好事多磨啊!好了,不瞎扯了,书归正传。大家都知道,阅读开源代码对于提高我们程序狗的“内外修为”都有很重要的作用,不但可以大开眼界,看看大师们是怎么写程序的,还可以从中学习到很多比较具体的知识。但是,我相信很多程序猿对阅读开源项目是又爱又恨,“爱”的是希望通过阅读大师的代码,学习人家优雅的编程风格、飘逸的建模手段和高深莫测的技术水平;
2016-08-23 21:13:11
1842
原创 细说函数的值传递和引用传递
函数的参数传递包括“按值传递(不加关键字ref)”、“按引用传递(加关键字ref)”两种;而变量的类型包括“值类型”和“引用类型”两种。其中,值类型的参数可以按值传递,也可以按引用传递;引用类型的参数同样既可以按值传递,也可以按引用传递。下面细说一下其中的细节。一、对于值类型参数来说,按值传递和按引用传递区别如下:1、按值传递:对形参的操作不会影响实参。例如, //======
2015-11-04 19:43:12
395
1
原创 三层架构通用ORM类库 ThreeTierLib v2.0
此类库是上篇ThreeLayerLib v1.0的升级版本,对系统的整体组织架构做了进一步优化和改进,在此感谢sp1234、cfx等大神的指点。改进:1、增加了数据库的数据类型和.NET语言数据类型的映射类DataTypeConverter,从而支持了多种数据库字段类型,不再仅于数字、文本类型。2、增加了SQL的参数化查询的DAL实现SqlLibWithParam,不再仅限于SQL语句
2012-05-19 00:09:50
798
1
原创 逻辑三层ORM通用类库 ThreeLayerLib.dll v1.0
逻辑三层ORM通用类库 ThreeLayerLib.dll v1.0作者:wxl本类库的目标用户是使用C#开发基于数据库的.NET程序的开发者,旨在简化对常用数据库的CRUD操作,同时提供了一种简化的ORM机制,使基于本类库开发的程序具有更好的可扩展性和可维护性。本类库默认SQLServer数据库,但并不受数据库类型的限制,开发者可以使用任何自己需要的关系数据库,如 SQLSe
2012-04-25 18:47:34
475
原创 基于.NET的Windows数据库应用程序开发的心路历程 --我的程序“猿”进化之路
自从2008年3月份开始接触.NET,不不不,应该说是接触C#以来,就一直从事以数据库为中心的各种Windows平台的应用程序开发,屈指一算,已四年矣,现在把这几年中的一些心得体会做一总结。虽然在本科和读研期间就一直接触编程,但一直使用的C、C++,而且只是粗懂一些皮毛。工作以来,由于项目的需要,改用C#,从而开始了我的.NET之路。工作以来,小弟也开发了大大小小十几个项目,不过百分之二百
2012-04-25 18:30:51
661
原创 利用PE结构给Windows可执行程序加密码
Windows下可执行文件称为PE格式,包括常见的exe、dll等,通过PE格式的合理利用,可以实现许多有趣且使用的功能。本文提出了利用PE结构给Windows可执行程序加密码的方法(仅针对未经加壳处理的exe文件,且因为Kernel32.dll不同,故仅适用于Windows X
2011-10-14 14:12:27
674
三层架构通用ORM类库 ThreeTierLib v2.0
2012-05-19
逻辑三层ORM通用类库 ThreeLayerLib.dll v1.0
2012-04-26
三层框架生成器ThreeLayerCreater
2012-04-27
带你读开源—ASP.NET_MVC(一)
发表于 2016-08-23 最后回复 2020-04-30
ps2鼠标数据包解析疑问
发表于 2018-11-02 最后回复 2018-11-02
带你读开源—ASP.NET_MVC(十六)
发表于 2016-09-23 最后回复 2018-09-28
带你读开源—ASP.NET_MVC(十五)
发表于 2016-09-22 最后回复 2018-09-28
带你读开源—ASP.NET_MVC(二)
发表于 2016-08-23 最后回复 2018-01-15
带你读开源—ASP.NET_MVC(十)
发表于 2016-09-09 最后回复 2017-12-31
带你读开源—ASP.NET_MVC(十一)
发表于 2016-09-12 最后回复 2017-12-31
带你读开源—ASP.NET_MVC(十二)
发表于 2016-09-14 最后回复 2017-12-31
带你读开源—ASP.NET_MVC(十三)
发表于 2016-09-14 最后回复 2017-12-31
带你读开源—ASP.NET_MVC(四)
发表于 2016-08-25 最后回复 2017-12-31
带你读开源—ASP.NET_MVC(九)
发表于 2016-09-09 最后回复 2017-10-31
中国象棋游戏开发实战(C#)【一】
发表于 2017-08-02 最后回复 2017-08-03
中国象棋游戏开发实战(C#)【四】
发表于 2017-08-02 最后回复 2017-08-02
中国象棋游戏开发实战(C#)【二】
发表于 2017-08-02 最后回复 2017-08-02
中国象棋游戏开发实战(C#)【三】
发表于 2017-08-02 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(六)
发表于 2016-08-29 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(五)
发表于 2016-08-27 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(七)
发表于 2016-09-01 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(三)
发表于 2016-08-25 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(八)
发表于 2016-09-04 最后回复 2017-08-02
带你读开源—ASP.NET_MVC(十四)
发表于 2016-09-18 最后回复 2017-08-02
网盘项目,如何实现下载整个文件夹?
发表于 2016-08-28 最后回复 2016-12-06
网站下载进度条怎么实现?
发表于 2016-09-01 最后回复 2016-09-22
逻辑三层ORM通用类库 ThreeLayerLib.dll v1.0
发表于 2012-04-25 最后回复 2016-08-29
ThreeLayerLib前传------三层代码生成器
发表于 2012-04-27 最后回复 2016-08-29
你必须知道的参数传递
发表于 2015-11-03 最后回复 2016-08-26
想做一个权限验证的通用工具,大家谈谈自己的看法
发表于 2012-05-05 最后回复 2016-08-26
WPF程序初始化进度显示
发表于 2012-08-15 最后回复 2015-11-03
三层架构通用ORM类库 ThreeTierLib v2.0
发表于 2012-05-18 最后回复 2015-11-03
基于.NET的Windows数据库应用程序开发的心路历程 --我的程序“猿”进化之路
发表于 2012-04-25 最后回复 2015-11-03
Softman的困惑
发表于 2011-11-26 最后回复 2011-11-26
利用PE结构给Windows可执行程序加密码
发表于 2011-10-14 最后回复 2011-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝