自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 资源 (1)
  • 收藏
  • 关注

原创 [C# 开发技巧]实现属于自己的截图工具

[C# 开发技巧]实现属于自己的截图工具 一、引言之前一直都是写一些C#基础知识的内容的,然而有些初学者可能看完了这些基础知识之后,会有这样一个疑惑的——我了解了这些基础知识之后,我想做一些工具怎么还是不会做的呢?那些基础知识到底有什么用的了?然而我刚开始写这个系列的初衷主要是我想系统地去研究下C#各个阶段的特性的,及时有些特性我知道它是怎么...

2019-03-25 11:40:55 326

原创 跟我一起学WCF(5)——深入解析服务契约[上篇]

跟我一起学WCF(5)——深入解析服务契约[上篇] 一、引言  在上一篇博文中,我们创建了一个简单WCF应用程序,在其中介绍到WCF最重要的概念又是终结点,而终结点又是由ABC组成的。对于Address地址也就是告诉客户端WCF服务所在的位置,而Contract又是终结点中比较重要的一个内容,在WCF中,契约包括服务契约、数据契约、消息契约和...

2019-03-25 11:34:06 180

原创 C#设计模式(8)——桥接模式(Bridge Pattern)

C#设计模式(8)——桥接模式(Bridge Pattern) 一、引言这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下:这样的实现使得每部不同型号的...

2019-03-25 11:33:45 197

原创 [C# 开发技巧]如何防止程序多次运行

[C# 开发技巧]如何防止程序多次运行 一、引言最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如:http://social.msdn.microsoft.com/Forums/zh-CN/6398fb10-ecc2-4c03-ab25-d03544f5fcc9, 所以这里就记录下来,希望给遇到同样问题的朋友有所参考的,同时也是对...

2019-03-25 11:33:33 238

原创 C#设计模式(9)——装饰者模式(Decorator Pattern)

C#设计模式(9)——装饰者模式(Decorator Pattern) 一、引言在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这样就会导致 ”子类爆炸“问...

2019-03-25 11:31:53 122

原创 C#设计模式(10)——组合模式(Composite Pattern)

C#设计模式(10)——组合模式(Composite Pattern) 一、引言在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象和复合对象在功能上区别,导致在操作过程中必须区分简单对象和复合对象,这样就会...

2019-03-25 11:30:48 84

原创 跟我一起学WCF(8)——WCF中Session、实例管理详解

跟我一起学WCF(8)——WCF中Session、实例管理详解 一、引言  由前面几篇博文我们知道,WCF是微软基于SOA建立的一套在分布式环境中各个相对独立的应用进行交流(Communication)的框架,它实现了最新的基于WS-*规范。按照SOA的原则,相对独自的业务逻辑以Service的形式进行封装,调用者通过消息(Messaging...

2019-03-25 11:30:20 230

原创 C#设计模式(4)——抽象工厂模式

C#设计模式(4)——抽象工厂模式 一、引言在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,...

2019-03-25 11:30:10 151

原创 VSTO之旅系列(五):创建Outlook解决方案

VSTO之旅系列(五):创建Outlook解决方案 本专题概要引言Outlook对象模型自定义Outlook窗体小结一、引言  在上一个专题中,为大家简单介绍了下如何创建Word解决方案的,所以本专题中将为大家介绍下Outlook相关的内容。我们从Visual Studio 2010 中Office节点下的模...

2019-03-25 11:28:33 237

原创 [你必须知道的异步编程]——基于任务的异步模式

[你必须知道的异步编程]——基于任务的异步模式 本专题概要引言什么是TAP——基于任务的异步模式介绍如何使用TAP——使用基于任务的异步模式来异步编程TAP与APM或EAP可以转换吗?——与其他异步模式的转换小结一、引言  在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在...

2019-03-25 11:28:09 134

原创 ASP.NET中实现回调

ASP.NET中实现回调 一、引言在ASp.NET网页的默认模型中,用户通过单击按钮或其他操作的方式来提交页面,此时客户端将当前页面表单中的所有数据(包括一些自动生成的隐藏域)都提交到服务器端,服务器将重新实例化一个当前页面类的实例来响应这个请求,然后将整个页面的内容重新发送到客户端。这种处理方式对运行结果没什么影响,但页回发会导致处理开销,从...

2019-03-25 11:28:02 125

原创 C#设计模式(2)——简单工厂模式

C#设计模式(2)——简单工厂模式 一、引言  这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式。二、简单工厂模式的介绍  说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产...

2019-03-25 11:28:00 80

原创 WPF快速入门系列(6)——WPF资源和样式

WPF快速入门系列(6)——WPF资源和样式 一、引言  WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用。而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一样,尽管我们可以在每个控件中定义格式,但是如果多个控件都应用了多个格式的时候,我们就可以把这些格式封装成格式,然后在资源中定义这个格式,之前如...

2019-03-25 11:26:19 200

原创 [收藏转载]C# GDI+ 简单绘图(一)

[收藏转载]C# GDI+ 简单绘图(一) 最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等.  废话不多说了,我们先来认识一下这个GDI+,看看它到底长什么样.  GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使...

2019-03-25 11:25:07 294

原创 C#设计模式(5)——建造者模式(Builder Pattern)

C#设计模式(5)——建造者模式(Builder Pattern) 一、引言  在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,如果此时让采购员一台一台电...

2019-03-25 11:24:59 123

原创 全面解析C#中参数传递

全面解析C#中参数传递 一、引言  对于一些初学者(包括工作几年的人在内)来说,有时候对于方法之间的参数传递的问题感觉比较困惑的,因为之前在面试的过程也经常遇到参数传递的基础面试题,这样的面试题主要考察的开发人员基础是否扎实,对于C#中值类型和引用类型有没有深入的一个理解——这个说的理解并不是简单的对它们简单一个定义描述,而在于它们在内存中分布...

2019-03-25 11:24:20 654

原创 [C# 开发技巧系列] 使用C#操作幻灯片

[C# 开发技巧系列] 使用C#操作幻灯片 本专题概要引言实现思路遥控幻灯片程序的实现小结一、引言记得老师讲课的时候,经常会用PPT遥控翻页笔来遥控幻灯片来给我们讲课,当时觉得非常有趣,由于这段时间接触了VSTO相关的开发,了解到了Office的相关产品都公开了一些API来让我们对Office产品进行二次开发,...

2019-03-25 11:23:24 456

原创 [C# 网络编程系列]专题九:实现类似QQ的即时通信程序

[C# 网络编程系列]专题九:实现类似QQ的即时通信程序 引言:前面专题中介绍了UDP、TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net类库去实现它们的。为了让大家更好的理解我们平常中常见的软件QQ的工作原理,所以在本专题中将利用前面专题介绍的知识来实现一个类似QQ的聊天程序。一、即时通信系统...

2019-03-11 20:53:05 365

原创 C#设计模式(11)——外观模式(Facade Pattern)

C#设计模式(11)——外观模式(Facade Pattern) 一、引言在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ”门面“模式。下面就具体介绍下外观模式。二、外观模式的详细介绍2.1 定义...

2019-03-11 20:51:55 86

原创 C#设计模式(7)——适配器模式(Adapter Pattern)

C#设计模式(7)——适配器模式(Adapter Pattern) 一、引言在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复...

2019-03-11 20:51:34 89

原创 C#设计模式(6)——原型模式(Prototype Pattern)

C#设计模式(6)——原型模式(Prototype Pattern) 一、引言在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随...

2019-03-11 20:50:54 129

原创 [C# 基础知识系列]C#中易混淆的知识点

[C# 基础知识系列]C#中易混淆的知识点 一、引言今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4633-a434-fc4d09f4d23d)是这样的: static void Main(...

2019-03-11 20:50:38 93

原创 [C# 开发技巧系列]C#如何实现图片查看器

[C# 开发技巧系列]C#如何实现图片查看器 本专题概要一、引言二、实现思路三、实现效果四、小结一、引言因为最近在MSDN中的论坛和CSDN论坛都看到有些朋友问到如何用C#实现一个像Windows自带的图片查看器的功能等类似的问题(当然还有如何如何旋转图片的,如何通过按钮来变换图片的功能等),所以为了帮助大家更好地解...

2019-03-11 20:49:49 220

原创 [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素

[C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素 一、问题描述今天在MSDN论坛中看到这样的一个问题,觉得非常锻炼思维能力,所以这里记录下来作为备份,题目的要求是这样的:假设有一组字符串数组{"0","0","1","2","3",“0”,"4","0","0"},如何查找使0等于离它最近的且不为

2019-03-11 20:49:15 60

原创 跟我一起学WCF(9)——WCF回调操作的实现

跟我一起学WCF(9)——WCF回调操作的实现 一、引言  在上一篇文章中介绍了WCF对Session的支持,在这篇文章中将详细介绍WCF支持的操作。在WCF中,除了支持经典的请求/应答模式外,还提供了对单向操作、双向回调操作模式的支持,此外还有流操作的支持。接下来将详细介绍下这几种操作,并实现一个双向回调操作的例子。二、WCF操作详解...

2019-03-11 20:44:28 195

原创 [C#]网络编程系列专题二:HTTP协议详解

[C#]网络编程系列专题二:HTTP协议详解 我们在用Asp.net技术开发Web应用程序后,当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求,此时就使用了应用层的HTTP协议,在上一个专题我们简单介绍了网络协议的知识,主要是为了后面讲HTTP协议做一个铺垫的,只有对HTTP协议有一个清楚的认识,这样当我们用Asp.net技术开发We...

2019-03-11 20:43:37 148

原创 C#设计模式(15)——命令模式(Command Pattern)

C#设计模式(15)——命令模式(Command Pattern) 一、前言  之前一直在忙于工作上的事情,关于设计模式系列一直没更新,最近项目中发现,对于设计模式的了解是必不可少的,当然对于设计模式的应用那更是重要,可以说是否懂得应用设计模式在项目中是衡量一个程序员的技术水平,因为对于一个功能的实现,高级工程师和初级工程师一样都会实现,但是区...

2019-03-11 20:40:07 142

原创 跟我一起学WCF(11)——WCF中队列服务详解

跟我一起学WCF(11)——WCF中队列服务详解 一、引言  在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互。然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力。WCF通过服务队列的方法来支持客户端和服务之间的离线工作,客户端将消息发送到一个队列中,再由服务对它们进行处理。下面让我们具体看...

2019-03-11 20:37:51 149

原创 跟我一起学WCF(12)——WCF中Rest服务入门

跟我一起学WCF(12)——WCF中Rest服务入门 一、引言  要将Rest与.NET Framework 3.0配合使用,还需要构建基础架构的一些部件。在.NET Framework 3.5中,WCF在System.ServiceModel.Web组件中新增了编程模型和这些基础架构部件。  新编程模型有两个主要的新属性:WebGetA...

2019-03-11 20:36:42 175

原创 WPF快速入门系列(3)——深入解析WPF事件机制

WPF快速入门系列(3)——深入解析WPF事件机制 一、引言  WPF除了创建了一个新的依赖属性系统之外,还用更高级的路由事件功能替换了普通的.NET事件。  路由事件是具有更强传播能力的事件——它可以在元素树上向上冒泡和向下隧道传播,并且沿着传播路径被事件处理程序处理。与依赖属性一样,可以使用传统的事件方式使用路由事件。尽管路由事件的使...

2019-03-11 20:35:37 393

原创 [.NET领域驱动设计实战系列]专题四:前期准备之工作单元模式(Unit Of Work)

[.NET领域驱动设计实战系列]专题四:前期准备之工作单元模式(Unit Of Work) 一、前言  在前一专题中介绍了规约模式的实现,然后在仓储实现中,经常会涉及工作单元模式的实现。然而,在我的网上书店案例中也将引入工作单元模式,所以本专题将详细介绍下该模式,为后面案例的实现做一个铺垫。二、什么是工作单元模式(Unit Of Work)...

2019-03-11 20:34:57 221

原创 WPF快速入门系列(9)——WPF任务管理工具实现

WPF快速入门系列(9)——WPF任务管理工具实现 转载自:http://www.cnblogs.com/shanlin/p/3954531.html  WPF系列自然需要以一个实际项目为结束。这里分享一个博客园博客实现的一个项目,我觉得作为一个练手的项目非常合适。担心博主后期会删除什么,这里先备份在自己的博客里面分享给大家。  本文所有源...

2019-03-11 20:34:08 305

原创 跟我一起学WCF(7)——WCF数据契约与序列化详解

跟我一起学WCF(7)——WCF数据契约与序列化详解 一、引言  在前面博文介绍到,WCF的契约包括操作契约、数据契约、消息契约和错误契约,前面一篇博文已经结束了操作契约的介绍,接下来自然就是介绍数据契约了。所以本文要分享的内容就是数据契约。二、数据契约的介绍  在WCF中,服务契约定义了可供调用的服务操作方法,而数据契约则是定义了...

2019-03-11 20:31:37 135

原创 谈谈: String 和StringBuilder区别和选择

谈谈: String 和StringBuilder区别和选择 对于string 和stringbuilder相信大家经常会使用到, 但是相信它们的区别和如何选择对于初学者还是会有不清楚的,下面我来分享下我的理解, 如果什么不对的地方希望大家指出来。(一)String 和StringBuilder区别1. 构造字符串在C#中, 不能使用n...

2019-03-11 20:24:31 211

原创 谈谈:.Net中的序列化和反序列化

谈谈:.Net中的序列化和反序列化 序列化和反序列化相信大家都经常听到,也都会用, 然而有些人可能不知道:.net为什么要有这个东西以及.net Frameword如何为我们实现这样的机制, 在这里我也是简单谈谈我对序列化和反序列化的一些理解。一、什么序列化和反序列化序列化通俗地讲就是将一个对象转换成一个字节流的过程,这样就可以轻松保存在磁...

2019-03-11 20:22:28 110

原创 [C# 网络编程系列]专题十:实现简单的邮件收发器

[C# 网络编程系列]专题十:实现简单的邮件收发器 引言:在我们的平常工作中,邮件的发送和接收应该是我们经常要使用到的功能的。因此知道电子邮件的应用程序的原理也是非常有必要的,在这一个专题中将介绍电子邮件应用程序的原理、电子邮件应用程序中涉及的协议和实现一个简答的电子邮件收发器程序。一、邮件应用程序基本知识1.1 电子邮件原理及相...

2019-03-11 20:20:33 804

原创 [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)

[.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern) 一、前言  在专题二中已经应用DDD和SOA的思想简单构建了一个网上书店的网站,接下来的专题中将会对该网站补充更多的DDD的内容。本专题作为一个准备专题,因为在后面一个专题中将会网上书店中的仓储实现引入规约模式。本专题将详细介绍了规约模式。...

2019-03-11 20:20:13 170

原创 [C# 基础知识系列]专题二:委托的本质论

[C# 基础知识系列]专题二:委托的本质论 引言:上一个专题已经和大家分享了我理解的——C#中为什么需要委托,专题中简单介绍了下委托是什么以及委托简单的应用的,在这个专题中将对委托做进一步的介绍的,本专题主要对委本质和委托链进行讨论。一、委托的本质  平时我们很容易使用委托——用C# delegate关键字定义委托,再用new操作符构造...

2019-03-11 20:14:25 95

原创 跟我一起学STL(2)——vector容器详解

跟我一起学STL(2)——vector容器详解 一、引言在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多。然而容器又可以序列式容器和关联式容器两类,C++语言本身提供了一个序列式容器数组,另外STL又提供vector,list,dequ...

2019-03-11 20:09:04 191

原创 深入浅出话VC++(2)——MFC的本质

深入浅出话VC++(2)——MFC的本质 一、引言上一专题中,纯手动地完成了一个Windows应用程序,然而,在实际开发中,我们大多数都是使用已有的类库来开发Windows应用程序。MFC(Microsoft Foundation Class, 微软基础类库)是微软为了简化程序员的开发工作而将Windows API 封装到C++类中,利用这些类...

2019-03-11 20:09:02 280

空空如也

空空如也

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

TA关注的人

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