Sql Server Compact
以前只知道微软SQL Server数据库,突然最近研究ASP.Net MVC的时候发现微软还有这么一个产品。开眼了。
SQL Server Compact是一个针对开发人员而设计的免费嵌入式数据库,这一版本的意图是构建独立、仅有少量连接需求的移动设备、桌面和Web客户端应用。
看到sdf文件不知道是个嘛东西,查找之后才发现这个貌似有点像Sqlite数据库文件(*.db或*。db3)。sdf文件也和sqlite使用貌似,部署只需要几个相关的Dll配置web.config文件和sdf文件就可以,很轻巧方便。
不过部署的过程中有几个需要注意的。
此处以Sql Server Compact4.[......]
AD操作补充,过滤获取OU or Users or Groups
不多说直接上代码
opad = new OperateAD(domain, ip, account, password);
//TreeNode users = new TreeNode("Users");
//TreeNode groups = new TreeNode("Groups");
//TreeNode services = new TreeNode("Services");
TreeNode organizational = new TreeNode("organizationalUnit");
viewPC.Nodes.AddRange(new TreeNod[......]
JAVA SSH & .NET “SSH”
最早写代码的时候JAVA的一个方向J2EE很火,火的要是不知道JAVA就和你不是大学生一样。所以很多各种专业的大学生都去学了JAVA编程。
当然那时候学的最多的就是J2EE开发最流行框架SSH = Struts+spring+hibernate,我是学计算机的,当然也不能幸免,于是自学了。
现在从事Net开发,一直认为C#语言要优秀与很多JAVA语言,但总是可悲其没有一个像样的企业级框架应用,直到各种JAVA版本的SSH衍生品的出现,即Struts.Net,Sprin[......]
MD5 GetHashCode
对于MD5我相信很多刚做开发甚至是做了很长时间开发的人都会认为是用来加密的一个东西,其实不然,我也是今天才释然。
好吧说说MD5,MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术算法,被广泛应用于加密、解密、数据签名和数据完整性校验等方面。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型 的文件,也不管它体积多大,都可以计算出一个MD5值,假如文件被修改过,就算是只改动了一个字节,其 MD5 值也会变得完全不同。因此,我们可以通过对比同一文件的 MD5 值,来校验这个文件是否[......]
KISS,DRY,OAOO,YAGNI
流行的原则有:
1)简单是一切之本 KISS(Keep It Simple,Stupid):
代码尽量不要搞花样。
2) 不要重复你自己(Don't Repeat Yourself,DRY):
指降低应用程序中的重复,且建议对于同样的信息,仅在一个位置存放。
3) 一次且共一次(Once and Only Once,OAOO):
指降低同一个应用程序中编写同样的代码的次数。
4) 你不会用到它(You Aren't Gonna Need It,YAGNI):
指当不可避免需要且没有其它解决办法时,再向程序中添加新功能。
依赖注入IOC
依赖注入实际上是个非常简单的概念。当你审视一个典型的应用程序时,你会看到对象之间存在许多依赖。表示层对象会依赖于服务层对象,而这些服务层对象又依赖于其它服务对象和数据访问对象等。在一个运行中的应用程序中,会有许多彼此依赖的对象纠缠在一起。
获得一个依赖的最简单方式就是直接调用构造函数创建对象。对象虽然可以被创建,但却存在几个问题:类很难独立测试,如果不修改创建它的代码,就不可 能改变它使用的依赖类。这些问题大多数都可以使用某种配置工厂,ServiceLocator或者Registry去创建或查找一个对象来解决。这种方法 我们称之为依赖查[......]
Delegates-and-Events-in-CSharp
C#中的委托与事件
做.Net的都知道,面试的时候最喜欢问的或者出的一道题就是:“C#中的委托是什么?事件是不是一种委托?”。介于
这里我要说说委托与事件,所以咱这里也阐述下这个问题。
1.委托可以把一个方法作为参数代入另一个方法,委托可以理解为一个指向函数的引用,其实委托也是一个类,这个从我们定义委托的时候就可以看的出,他和类是一个级别的,只是他在编译的时候会编译成一个类。
2.事件是委托,并且是一种特殊的委托。有了事件在应用委托的时候可以更清晰的理解方法绑定。
先看下第一点
//委托定义 public delegate st[......]
