自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

徐磊

.net 技术

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 [原创]探索CLR原理系列(3):方法元数据和IL(适合老鸟,新人勿沉迷其中)

前一篇我们探索了类型的第一种成员:字段。字段在IL编译时,会生成MdToken和偏移量,因为对于类型来说,一个类型在编译时就已经确定了字段的个数,所以偏移量对于编译器来说是已知的,字段和偏移量分别由元数据表(Field和ClassLayout)来记录。本篇我们来讨论类型中的另一种成员:方法.在本系列的第一篇探索CLR原理系列(1):类型 中我们说到类型中只有两种成员:字段和方法.字段是用来

2013-03-04 13:45:44 456

原创 [原创]探索CLR原理系列--索引贴

本系列使用SOS来Debug示例代码,让我们一起看看自己编写的代码,编译后的程序集以及CLR运行时的真实面貌,从而更加深入的了解.net.本系列将围绕下面这张图,来和大家一起分享.net的真实世界.本人能力有限,难免会有理解错误的地方,欢迎大家指正.    由于某些媒体和个人喜欢拿来主义,所以笔者加了水印,见谅见谅。。。不影响大家看就是了,字比较小,可将浏览器放大。  

2013-03-04 13:45:41 402

原创 [原创]探索CLR原理系列(2):字段在内存中的布局 (适合老鸟,新人勿沉迷其中)

上一篇文章我们探索了类型,每一个类型在元数据的Typedef表中,会分配一个MdToken(类型标记),当你写的方法需要访问这个类型时,也是使用MdToken到相关Dll的元数据表去加载它到Load Heap,LoadHeap是用来存放类型的空间,它并不保存类型的实例.我们可以为类型定义一系列成员,包括:字段,属性,方法,事件和嵌套类,但我们跟踪类型的EEclass,发现类型中只有两类成员,字

2013-03-04 13:45:39 389

原创 [原创]探索CLR原理系列(1):类型 (适合老鸟,新人勿沉迷其中)

CLR是整个Dotnet的灵魂,CIL则是这个灵魂可以发挥其跨越平台,穿越语言,跳跃....的保证.其实有很多书籍和文章都介绍了什么是CLR,什么是CIL,CTS,CLS这样的一大堆概念,可是他们具体的表现形式,以及运作的原理是大部分人都想知道的秘密,却没有什么太好的途径来获取这些信息.本系列将从C#代码->CIL->CLR来探索我们编写的C#代码,最终如何成为本地机器语言,并且执行.过程中会使用

2013-03-04 13:45:36 705

原创 如何使用设计模式来构造系统(索引贴)

如何使用设计模式来构造系统--(1)  如何使用设计模式来构造系统--(2)  如何使用设计模式来构造系统--(3)  如何使用设计模式来构造系统--(4)  如何使用设计模式来构造系统--(5)  如何使用设计模式来构造系统--(6)  如何使用设计模式来构造系统--(7)  如何使用设计模式来构造系统--(8)  如何使用设计模式

2013-03-04 13:45:34 375

原创 如何使用设计模式来构造系统--(9)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    前面的客户端程序中,遍历部门时,有个对部门还是人员的判断,然后按照不同的类型输出不同的结果,这样增加了客户端的复杂度,如果出现另一种情况,那么就要修改客户端,因为客户端程序大部分都不是出现在一个调用中,所以这样的修改十分可怕,如果输出有所变化,比如多加几个字,或者显示员工福利工资,

2013-03-04 13:45:31 278

原创 如何使用设计模式来构造系统--(8)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    前面我们完成了复杂的Composite的创建的封装,但是那里面还有缺点:前面我们说了一个人可能身兼二职,尤其管理层的,更有这个可能,那么他就要出现在不同部门里,而我们现在的创建是一个节点一个对象,这样我们就要浪费内存了...怎么解决? 1.分析:看看我们的意图我们要让身兼数

2013-03-04 13:45:29 247

原创 如何使用设计模式来构造系统--(7)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    在前面的文章中,我们设计完成了员工工资,福利以及按照部门来区分员工,以及遍历统计部门人员成本等业务逻辑,这些设计基本上可以满足我们所设定的场景的变化,可是创建部门及人员树的时候太复杂了,而且这种创建很容易发生变化,比如加入分公司,或者部门层级变动添加了层级的时候,创建的代码一定就要

2013-03-04 13:45:27 220

原创 如何使用设计模式来构造系统--(6)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    前面我们设计完成了统计部门工资,这样的一个需求,但是在我们设计遍历员工信息的方法是固定不变的,也就是说是硬编码在PersonComposite类中的,由于Composite设计模式相当于一个树或者图的数据结构,那么他的遍历就会出现变化,比如在遍历部门和小组的时候采取不同的方法,以减

2013-03-04 13:45:24 291

原创 如何使用设计模式来构造系统--(5)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)     前面我们设计了员工的工资,奖金,福利系统。今天客户又来增加需求了:"我们需要统计公司,部门,或者小组的薪资成本。"得到了需求,我们还是按照老套路来完成我们的设计。  1.分析我们用"名词分析法"来分析需求里面的类(第一篇有讲解),薪资的部分我们已经有了,需求中

2013-03-04 13:45:22 275

原创 如何使用设计模式来构造系统--(4)

在前三篇中我们设计了员工的工资,绩效将金,以及员工福利,使用了Bridge(员工和工资的组合),Stratege(工资和绩效将金的设计)以及(Singleton)单件了这些算法,然后用Decorator(装饰)将员工进行职位的装饰.这些设计在我们前面所说的场景下,是符合设计模式的意图的,但是它仍然有一些漏洞.我们来看看我们的员工类的代码,注意注释的文字.  CodeCode

2013-03-04 13:45:19 571

原创 如何使用设计模式来构造系统--(3)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    (由于篇幅有限,部分代码请看 如何使用设计模式来构造系统--(1) ) 前面两篇中,完成了客户所提的"我们的系统要管理人员的工资.(为了模拟真实的开发场景,这里暂时先定义一个功能)人员分为实习员工和正式员工,他们的基本工资是不同的,工资包括基本工资和绩效工资."这样的一个系

2013-03-04 13:45:16 262

原创 如何使用设计模式来构造系统--(2)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)    (由于篇幅有限,部分代码请看如何使用设计模式来构造系统--(1) ) 上一篇我们分析了员工,工资,以及绩效奖金三个类,并且使用了Bridge和Stratege两种模式,对他们之间的组合和行为进行了设计,但是我们的设计并不完善。我们知道员工的基本工资可能每年都不一样,甚至有可

2013-03-04 13:45:14 493

原创 如何使用设计模式来构造系统--(1)

(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式)      一直很想写关于设计模式的具体使用的文章,可是一直没想好怎么去写,才可以通俗易懂,真正的让设计模式,应用到系统设计中.今天终于想到了,这个系列准备用实例去讲解如何使用(GOF)设计模式.     准备用公司的人员管理系统来做这个实例,为什么选他呢?我觉得大家基本上都是公司员工

2013-03-04 13:45:12 384

原创 图解.Net框架系列(索引贴)

(声明:本系列已完成,故索引帖重发)       众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等. 这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图文并茂的文章,把我所知道的所有Net框架中的东西全部串联起来(WPF,WCF)希望可以给大家一个Do

2013-03-04 13:45:09 288

原创 图解DotNet框架之十:WCF(Remoting,Webservice)

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)   WCF是对于Webservice,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。那么他与Remoting和Webservice有什么关系呢?既然他是对Remoting,Webservice等技术

2013-03-04 13:45:07 295

原创 图解DotNet框架之九:WPF

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)               WPF可以认为是MS利用原有.NET框架的一些特色,加上DirextX的产物。将原有的编程模型统一化.我们来看看WPF的运行机制.  那么我们现在来分析一下WPF的运行过程吧。  首先从第一个

2013-03-04 13:45:04 354

原创 图解DotNet框架之八:ASP.NET

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)                                  当服务器(ASP.NET)接收到一个 Http请求的时候,他会如何工作呢? 还是老思路,我们先来看图:  这个图和上一篇中的图,基本上是一样的(为了便于学习和记忆

2013-03-04 13:45:02 287

原创 图解DotNet框架之七:Winform

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)              前面我们讲解了.net大体的运行框架,和一些常用的Dll,现在我们就要来学习具体的应用程序了,首先来讲解一下Winform的运行框架吧. 我们现在先来看图:  在本系列的第一篇中,我们也是用这张图,在这

2013-03-04 13:44:59 298

原创 图解DotNet框架之六:System.XML

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)        上面一篇,对system.Reflection做了初步的研究,本来这篇开始要讲解Winform应用程序的流程框架,可是突然想到还有XML这个东西没有讲解,只好这篇补上了,下篇再讲应用程序吧,失误,请原谅! XML是一种标记语言,就

2013-03-04 13:44:57 248

原创 图解DotNet框架之五:System.Reflection

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)        这篇文章我们来学习System.Reflection,.net中反射的核心类.先来看图: 前面的文章,我们说过.net的元数据可以完整地描述类型,那么通过System.Reflection,可以在运行时发现类型格式,我们来看一

2013-03-04 13:44:55 239

原创 图解DotNet框架之四:System.Data

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)             ADO.net类库有两种完全不同的方式来实现数据访问:连接式和断开式.ADO.NET没有提供单一的方式和不同的数据库进行通信,而是提供了多种数据提供器,这样的好处是可以将某种类型数据库的特性发挥出来.我们来看看ADO.NET中的

2013-03-04 13:44:52 234

原创 图解DotNet框架之三:System.IO

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)      在上一篇,我们讲解了System.dll,现在我们来看System.IO,要操作IO,就需要,确定储存媒介,打开,然后读取或者写入,那么在.Net中这三步是如何的呢?还是老规矩上图           1.打开:     

2013-03-04 13:44:50 352

原创 图解DotNet框架之二:System

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)                  前面我们学习了.net的运行引擎,知道了Appdomain要承载各种dll,那么我们就来学习一下最基本的system.dll,这个任何代码都要引用的大家伙.还是老规矩,图解..嘿嘿上图了    

2013-03-04 13:44:47 257

原创 图解DotNet框架之一:编译与执行引擎(上)

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)     众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等.这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图

2013-03-04 13:44:45 507

原创 图解DotNet框架之一:编译与执行引擎(下)

(声明:本系列只想给大家介绍.net框架,并不是语法和类的使用的讲解,所以只能概括的描述一下所提到的类,如果有疑问可以到MSDN上面去查)              上一篇我们讲解了CIL,CTS,程序集等内容,并且留下了一个问题,就是.net如何跨平台,我们现在就来弄明白这个问题.由于篇幅有限,请大家参照第一篇的图.按照流程图我们该讲解mscoree.dll了

2013-03-04 13:44:42 378

Linux 内核注释

linux完全注释,很棒,清晰

2012-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除