摘要:
C#中volatile的用法收藏 恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码:int i1;int geti1() {return i1;} volatile int i2;int geti2() {return i2;} int i3;synchronized... 阅读全文
摘要:
一、创建应用模块对象 在你的应用中经常会需要创建例如Database或者是CacheManager之类的对象,企业库支持一系列的方法,可以创建应用需要的对象。 你可以使用工厂方法创建这些对象,企业库的在每一个功能模块和核心库都包含有工厂方法来完成这个任务。这些静态的工厂方法自动读取应用的配置信息,provider的工厂方法允许你手工在配置文件中创建适当的配置,然后用工厂方法在代码中创建prov... 阅读全文
摘要:
企业库4.0和4.1的主要改进是加入了全新的,而且很容易使用的对象创建方式,包括其他的依赖对象。这个功能在企业库的Unity模块中通过依赖注入暴露,它使用了下面这些常用的设计模式。 Dependency Injection依赖注入 Inversion of Control(IoC)反转控制 Service Locator服务定位 Service Container服务容器 Factory... 阅读全文
摘要:
C#的internal关键字可以使标记的方法,字段或者属性等等只能在当前assembly内部使用,那么如果其他的assembly需要使用这个internal的方法的时候怎么办呢?.NET提供了一种类似于C++中的友元类的方式来完成这个功能,那就是使用InternalsVisibleTo。这种情况常见于做测试的时候,需要另外一个项目来测试项目中的internal方法所标记的功能,所以有了Intern... 阅读全文
摘要:
一、企业库的主要内容 企业库是一个可重用的组件集合,同时也是一个受支持的基础框架。企业库包含的内容: 企业库功能模块 企业库核心 企业库配置工具 对象创建和依赖注入方法 工具集,示例,和开发指导 二、强命名企业库程序集 如果你使用源代码生成企业库程序集,你就要考虑是否给程序集添加强命名。强命名由程序集的标识组成,包括一个名称,版本号,和一个可选的区域信息,加上一个公共的key和一个... 阅读全文
摘要:
一、迁移和并行使用 通常来说,企业库是建立在.NET 2.0 的基础上,使用后续版本的企业库也不需要改变任何代码。不需要将引用更新到新的程序集,也不需要在配置文件中指明程序集的正确版本。 这个版本4.1的企业库可以和以前版本的企业库同时安装,你可以将使用新版本的应用程序和使用旧版本的应用程序一起部署。也你可以一次性的将现有应用的企业库应用升级到新版本。 如果你选择并行使用不同版本的企业库,你... 阅读全文
摘要:
在4.1中你可以使用Unity Application Block(Unity)在函数或者是功能运行之前或者之后拦截企业库的对象,生成这些对象,并且将他们注入到其他对象中。 企业库中包含了很多的类,允许你从Unity容器中获取在企业库配置中定义的,类似SqlDatabase或者是CacheManager对象的实例。另外,一些有好的注入代替了过去的静态方法。使用Unity的依赖注入能力可以很好的简... 阅读全文
摘要:
我是一个.NET技术为主的程序员,每次开发一个新的应用的时候,都会被人问道“.NET有没有框架可以用,有没有类似 hibernate,structs,spring之类的框架,怎么什么都没有呢,.NET有没有开源的现成的好用的框架,怎么每次都要造轮子呢?你们在干什么呢,数据访问和日志这种东西怎么每次你们都要花功夫来写呢,没有可以参考的吗”,大部分人的回答往往是“没... 阅读全文