<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Adi_liu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Adi_liu]]></copyright><item><title><![CDATA[代码里的命名规则]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/9055445</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/9055445</guid><author>Adi_liu</author><pubDate>Sat, 08 Jun 2013 13:33:21 +0800</pubDate><description><![CDATA[“注释的目的是为了弥补代码自身在表达上的不足。”


这句话可以简单的理解为如果你的代码需要注释，最有可能是你的代码写的很烂。同样，如果在没有注释的情况下你无法用代码完整的表达你对一个问题或一个算法的思路，那这就是一个失败的信号。最终，这意味着你需要用注释来阐明一部分的思想，而这部分在代码里是看不出来的。好的代码能够让任何人在不需要任何注释的情况下看懂。好的编码风格能将所有有助于理解这个问题]]></description><category></category></item><item><title><![CDATA[抽象类和接口的区别]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/8294124</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/8294124</guid><author>Adi_liu</author><pubDate>Fri, 14 Dec 2012 11:07:08 +0800</pubDate><description><![CDATA[.Net提供了接口，这个不同于Class或者Struct的类型定义。接口有些情况，看似和抽象类一样，因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然，接口和抽象类各有长处和缺陷，因此往往在应用当中，两者要结合来使用，从而互补长短。
　　接下来先说说抽象类和接口的区别。
　　区别一，两者表达的概念不一样。抽象类是一类事物的高度聚合，那么对于继承抽象类的子类来说，对于抽象类来说，属于“]]></description><category></category></item><item><title><![CDATA[C#分布式事务（TransactionScope ）]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/8076677</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/8076677</guid><author>Adi_liu</author><pubDate>Tue, 16 Oct 2012 13:13:16 +0800</pubDate><description><![CDATA[TransactionScope是.Net Framework 2.0滞后，新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于：SqlTransaction]的事物。使用之前必须添加对 System.Transactions.dll 的引用。

       下列代码就是一个正在创建的事务，这个事务自身还封装了多个数据库查询。只要任意一个 SqlCommand 对象引发异常]]></description><category></category></item><item><title><![CDATA[SQL2008定时备份数据库并上传到FTP]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/8075907</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/8075907</guid><author>Adi_liu</author><pubDate>Tue, 16 Oct 2012 10:19:44 +0800</pubDate><description><![CDATA[首先新建数据库维护计划，定时执行数据库备份，打开数据库管理器——>管理——>维护计划——右键新建维护计划向导——>计划更改——>选择执行时间。

选择维护任务：备份数据库

选择要备份的数据库，可选数据库备份目录，备份报告。

维护计划添加完成。

FTP上传脚本，由于windows下ftp命令不支持被动模式，此脚本使用curl命令上传到FTP。






1
2]]></description><category></category></item><item><title><![CDATA[Web应用界面设计规范—给项目组培训]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/8055307</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/8055307</guid><author>Adi_liu</author><pubDate>Wed, 10 Oct 2012 10:37:38 +0800</pubDate><description><![CDATA[最近给项目组做了一次Web应用界面设计规范的培训，共享一下。

Web应用界面设计规范（Design Specification for Web UI）

主讲人：ARay

目录：
一、软件界面规范的重要性及其目的
二、用户体验为何如此重要
三、Web规范体系介绍
四、界面设计开发流程
五、应该遵循的基本原则
六、界面设计规范

一、软件界面规范的重要性及其目的]]></description><category></category></item><item><title><![CDATA[多态与 new [C#]]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7951674</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7951674</guid><author>Adi_liu</author><pubDate>Thu, 06 Sep 2012 17:04:08 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/allenlooplee/archive/2006/03/13/348760.html]]></description><category></category></item><item><title><![CDATA[Finalize方法和Dispose方法]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7951213</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7951213</guid><author>Adi_liu</author><pubDate>Thu, 06 Sep 2012 15:53:25 +0800</pubDate><description><![CDATA[对于Finalize方法和Dispose方法，有如下的规则，留作参考： 
l  对于非托管资源的清理，Finalize由GC自行调用，而Dispose由开发者强制执行调用。 
l  尽量避免使用Finalize方式来清理资源，必须实现Finalize时，也应一并实现Dispose方法，来
提供显式调用的控制权限。 
l  通过GC. SuppressFinalize可以免除终结。 
l]]></description><category></category></item><item><title><![CDATA[is和as]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7946860</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7946860</guid><author>Adi_liu</author><pubDate>Wed, 05 Sep 2012 15:45:28 +0800</pubDate><description><![CDATA[is/as操作符小议 
1. 引言 

类型安全是.NET设计之初重点考虑的内容之一，对于程序设计者来说，完全把握系统数据的类型安全，经常是力不从心的问题。现在，这一切已经在微软大牛们的设计框架中为你解决了。在.NET中，一切类型都必须集成自System.Object类型，因此我们可以很容易的获得对象的准确类型，方法是：GetType()方法。那么.NET中的类型转换，应该考虑的地方有那些呢]]></description><category></category></item><item><title><![CDATA[C#中将ListView中数据导出到Excel]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7902513</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7902513</guid><author>Adi_liu</author><pubDate>Fri, 24 Aug 2012 09:36:10 +0800</pubDate><description><![CDATA[首先 你需要添加引用Microsoft Excel 11.0 Object Library

添加方法：选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。

实现代码如下：




?






private void 导出数据_Click(object sender,
 EventArgs e)

{

    Exp]]></description><category></category></item><item><title><![CDATA[[Serializable]在C#中的作用-NET 中的对象序列化]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7534200</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7534200</guid><author>Adi_liu</author><pubDate>Fri, 04 May 2012 11:22:00 +0800</pubDate><description><![CDATA[简介
序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中，先将对象的公共字段和私有字段以及类的名称（包括类所在的程序集）转换为字节流，然后再把字节流写入数据流。在随后对对象进行反序列化时，将创建出与原对象完全相同的副本。

在面向对象的环境中实现序列化机制时，必须在易用性和灵活性之间进行一些权衡。只要您对此过程有足够的控制能力，就可以使该过程在很大程度上自动进行。例如，简单的二进制序]]></description><category></category></item><item><title><![CDATA[典型的 C++ 程序员成长经历]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7415096</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7415096</guid><author>Adi_liu</author><pubDate>Sat, 31 Mar 2012 12:05:24 +0800</pubDate><description><![CDATA[一个典型的 C++ 程序员成长经历：

1.  完整的学一遍 C++ 所有语言特性，典型书籍 "The C++ Programming Language" Part1, Part2, "C++ Primer"

    感觉 C++ 像大杂烩（多编程范型），各种精妙的语法特性 (friend, virtual/RTTI, const/mutable, exception, template]]></description><category></category></item><item><title><![CDATA[介紹好用 Visual Studio 2010 擴充套件：NuGet 套件管理員]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7407202</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7407202</guid><author>Adi_liu</author><pubDate>Thu, 29 Mar 2012 14:49:31 +0800</pubDate><description><![CDATA[長久以來微軟的開發平台一直都沒有像其他開發平台常見的套件管理工具，像是 PHP 就有 PEAR 可用、Perl 也有 PPM (Perl
 package manager)，甚至 Python 也有 PyPM (Python Package Manager) 等等。大約在去年八月左右微軟內部開始進行了一個套件管理員的開發計畫名為 NuGet，此工具主要跟
 Visual Studio 2010]]></description><category></category></item><item><title><![CDATA[Castle IOC容器与Spring.NET配置之比较]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7398559</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7398559</guid><author>Adi_liu</author><pubDate>Tue, 27 Mar 2012 13:31:36 +0800</pubDate><description><![CDATA[本文只是通过一个简单的例子来比较一下两者配置之间的区别。在Castle IOC容器中，提出了自动装配（Auto-Wiring）的概念，即由容器自动管理组件之间的依赖关系，我们无需自己编写XML配置文件来配置组件之间的依赖关系。在Spring.NET中也是支持自动装配的，但是并不推荐使用，它贯穿着一种思想就是一切皆为XML配置，这是两者之间最大的一个区别。
关于自动装配，来自于Spring.NET]]></description><category></category></item><item><title><![CDATA[VisualStudioVS2010统计代码行数]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/7303920</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/7303920</guid><author>Adi_liu</author><pubDate>Tue, 28 Feb 2012 21:53:48 +0800</pubDate><description><![CDATA[按CTRL+SHIFT+F (Find
 in files)，勾上支持正则表达式，然后输入搜索内容：
^:b*[^:b#/]+.*$

#开头和/开头或者空行都不计入代码量。如果需要只统计代码文件的代码量，可以选择查找文件的类型，比如什么*.xml,
 *.resx….可以不检查，只查*.cs,*.c,*.h…

搜索出来以后最后一行就是代码行数了。]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC view与controller传值方式]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6920563</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6920563</guid><author>Adi_liu</author><pubDate>Mon, 31 Oct 2011 10:44:25 +0800</pubDate><description><![CDATA[: ViewData传值方式
ViewData的生命周期和View相同, 只对当前View有效.
   ViewData["zd"] = dfdfd
2:TempData传值方式
   可以跨Action传递
   TempData的数据至多只能经过一次Controller传递, 并且每个元素至多只能被访问一次，
  
   例如一个用法为，抛出一个异常。跳转到error页面
pu]]></description><category></category></item><item><title><![CDATA[C#中Dispose和Close的区别！]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6887604</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6887604</guid><author>Adi_liu</author><pubDate>Wed, 19 Oct 2011 11:28:56 +0800</pubDate><description><![CDATA[当我们开发C#代码的时候，经常碰到一个问题，有些class提供Close()，有些class提供Dispose()，那么Dispose和Close到底有什么区别？

首先，Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因]]></description><category></category></item><item><title><![CDATA[Moq——.NET的Mocking库]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6885804</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6885804</guid><author>Adi_liu</author><pubDate>Tue, 18 Oct 2011 19:39:19 +0800</pubDate><description><![CDATA[Moq是利用诸如Linq表达式树和Lambda表达式等.NET 3.5的特性，为.NET设计和开发的Mocking库。它的目标是让Mocking以一种自然的方式与现有单元测试进行集成，使它更加简单、直观，以避免开发人员被迫重写测试或学习需要大量录制/播放的Mock框架。Moq的目]]></description><category></category></item><item><title><![CDATA[C#小Tip：Process.WaitForExit()与死锁]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6863611</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6863611</guid><author>Adi_liu</author><pubDate>Tue, 11 Oct 2011 17:53:34 +0800</pubDate><description><![CDATA[前段时间遇到一个问题，搞得焦头烂额，现在记录下来，希望对大家有所帮助。

程序里我使用Process类启动命令行，执行批处理文件 'Create.cmd'(当我手工将此文件拖入命令行执行时，一切正常)。C#程序代码类似如下，其中batchFilePath变量为批处理文件全路径]]></description><category></category></item><item><title><![CDATA[XPath表达式使用介绍]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6826837</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6826837</guid><author>Adi_liu</author><pubDate>Tue, 27 Sep 2011 16:59:57 +0800</pubDate><description><![CDATA[什么是XPath，是么是XPath表达式，这些问题总是困扰一些XPath初学者。本文就此做些简单介绍。

名词解释：XPath
 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。

1、﻿﻿﻿﻿XPath
 使用路径表]]></description><category></category></item><item><title><![CDATA[让Web应用程序飞起来的秘诀]]></title><link>https://blog.youkuaiyun.com/Adi_liu/article/details/6826773</link><guid>https://blog.youkuaiyun.com/Adi_liu/article/details/6826773</guid><author>Adi_liu</author><pubDate>Tue, 27 Sep 2011 16:43:57 +0800</pubDate><description><![CDATA[导读：通过提高Web资源的性能，让它们变得更小，使得网站的访问者将可以更快地加载较小的源文件，而且将可以节省网站所用的带宽。本文介绍了如何通过对CSS和JavaScript文件——两种易于优化的常见资源，使用社区中提供的工具即可完成优化——优化空间使用来实现更高的性能。然而，在继]]></description><category></category></item></channel></rss>