框架技术2012-2-13引用资料:dHelper/tag//?是一个轻量级的控制反转(IoC)和面向切面编程(AOP)技术的容器框架。下图展示了各种类型的核心模块:第一阶段:控制反转与依赖注入1、控制反转(IoC)2、环境搭建3、实现一个简易的Ioc框架4、对象的创建5、容器中对象的作用域6、依赖注入(DI)7、依赖对象的注入8、集合类型的注入9、打造一个简易的依赖注入框架10、方法注入11、自定义对象行为1、控制反转(IoC)控制反转(InversionofControl,英文缩写为IoC),也叫依赖注入(DependencyInjection)。控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。3种实现方式比较:1、一般方法:对象间直接耦合;2、工厂方法:对象间通过工厂耦合;3、IoC方法:把耦合放入XML文件,通过容器这需要的时候把这个依赖关系形成;可以看成是工厂模式的升华。2、环境搭建1、常用dll((必需)(必需)…2、配置文件的读取方式实际物理路径:IResourceinput=newFileSystemResource(@"D:\"); IObjectFactoryfactory=newXmlObjectFactory(input);程序集下读取文件:string[]xmlFiles=newstring[]{"file://文件名","assembly://程序集名/命名空名/文件名",};IApplicationContextcontext=newXmlApplicationContext(xmlFiles);3、实现一个简易的Ioc框架本节通过手动实现一个简易的IoC框架的,来加深IoC的理论知识。4、对象的创建(1)一般有3种方式:构造器、静态工厂、实例工厂1、构造器需满足的条件::type=“类全名,程序集名”(可以带参数)例:<objectid="PersonDao"type=",SprintTest"/>2、静态工厂创建一个静态工厂方法,并配置factory-method属性例:<objectid="staticFactory"type=",SprintTest"factory-method="CreateInstance"/>3、实例工厂需满足的条件:,并配置factory-method和factory-(或父容器)中4、对象的创建(2):<!--实例工厂--><objectid="instanceFactory"type=",SprintTest"/><!--创建的对象--><objectid="PersonDao"factory-method="CreateInstance"factory-object="instanceFactory"/>4、泛型类型的创建泛型类型可采用上面3中任一方式创建,只是type属性的设置需注意:左尖括号<要替换为<。例:<!--lass<int>--><objectid="lass"type="<int>,SprintTest"/>5、容器中对象的作用域(1)1、容器对象的部署(2种)(框架默认)容器中只会有一个共享的实例,该对象只会被创建一次。例:<objectid="PersonDao"type=",SprintTest"/>,容器都会创建一个新的实例;当脱离调用方法的作用域后,该对象会被容器自动销毁。例:<objectid="PersonDao"type=",SprintTest"singleton="false"/>5、容器中对象的作用域(2)2、实例化延迟(lazy-init)作用:当容器初始化时进行对象实例化(框架默认),还是在调用GetObject方法时才进行对象实例化。例:<!--容器初始化时进行对象实例化--><objectid="PersonDao"type=",SprintTest"/
框架技术 来自淘豆网www.taodocs.com转载请标明出处.