林宜鹤

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年9月3日

摘要: 多数用户都会将容器中的大部分对象布署为singleton模式。当一个singleton对象需要和另一个singleton对象协作,或者一个非singleton对象需要和另一个非singleson对象协作时,Spring.NET都能很好的处理它们的依赖关系。但是,如果对象的生存周期不同,就可能会产生问题。例如,假设一个singleton对象A要使用一个非singleton(原型)对象B,A中的每个方... 阅读全文
posted @ 2010-09-03 19:08 林宜鹤 阅读(243) 评论(0) 推荐(0) 编辑

2010年9月2日

摘要: 我们在第三篇中学习里一个简易的IoC框架。今天我们接着上次的程序,实现带参数构造函数对象的实例和属性的注入 。  我们知道可以通过反射获取类的构造函数及参数(GetConstructors方法);可以获取属性和属性的类型(GetProperties方法)。通过Activator的CreateInstance(Type type, params object[] args)方法可以创建带参数构造函数... 阅读全文
posted @ 2010-09-02 10:03 林宜鹤 阅读(303) 评论(0) 推荐(0) 编辑

2010年9月1日

摘要: Spring.NET还支持集合类型的注入。而且使用起来也比较方便。  一、ILIst类型  使用<list>元素作为ILIst的标签,value为集合中元素的值。也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name。集合可以为空,用<null/>元素来标记。  在<list>元素中设置... 阅读全文
posted @ 2010-09-01 19:59 林宜鹤 阅读(290) 评论(0) 推荐(0) 编辑

2010年8月31日

摘要: 声明:作为这个系列的开篇,本系统会将我在研究这个项目源码中的一些思考和心得介绍给大家。当然本系统决不是那种所谓的“最佳示范”,里面所提到的使用技巧或设计思路只是给大家在实际工作中提供一个参考,所谓“最好”之类的词汇都是“矬子里拔将军”,相信大家在成功的分析了几个MVC示例之后,会找到适合自己所在团队或公司使用的方式或思路的。 ... 阅读全文
posted @ 2010-08-31 11:30 林宜鹤 阅读(336) 评论(0) 推荐(0) 编辑

2010年8月30日

摘要: 一、属性注入  上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了<propertyname="Tool"ref="computer"/>。而property标签正是用来属性注入的。而ref是用来标识是关联到哪个object。而name属性是指属性名。如下:<objectid="modernPerson"type="SpringNetIoC.Mode... 阅读全文
posted @ 2010-08-30 19:51 林宜鹤 阅读(291) 评论(0) 推荐(0) 编辑

2010年8月26日

摘要: 一、下载Discuz!NT 3.1下载地址:http://nt.discuz.net/showtopic-80777.html二、安装安装图文教程:http://nt.discuz.net/showtopic-128292.html以下内容摘自压缩包里的catalog.htm第 1 步:上传或解压程序包 使用 FTP 软件登录您的服务器,建立一个单独的目录,或选择合适的位置,确保存放在此位置的文件... 阅读全文
posted @ 2010-08-26 16:34 林宜鹤 阅读(1596) 评论(1) 推荐(2) 编辑

2010年8月25日

摘要: 谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。  我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。  下面是应用场景的条件:人类使用工具劳动。[代码... 阅读全文
posted @ 2010-08-25 09:32 林宜鹤 阅读(294) 评论(0) 推荐(0) 编辑

2010年8月12日

摘要: 容器中对象的部署分为两种方式:singleton和非singleton(java里叫prototype)。这里的singleton指的是“单例模式”,就是说当一个对象被定义为singleton时,容器中就只会有一个共享的实例,任何时候通过id或别名请求该对象都会返回这个共享实例的引用(也就是说这个对象只会被创建一次)。当使用非singleton,或者说原型模式布署时,每次请... 阅读全文
posted @ 2010-08-12 09:42 林宜鹤 阅读(269) 评论(0) 推荐(0) 编辑

2010年7月22日

摘要: 学过了前面的课程,我们来一起学习Spring.NET的IoC容器对象的创建。  创建对象一般有3种方式:1.构造器创建,2.静态工厂创建,3.实例工厂创建  多数情况下,容器会根据对象定义中的type属性值去直接调用相应类型的某个构造器。另外,容器也可以调用工厂方法来创建对象,这时type属性的值就应该是包含工厂方法的类型(按:而不是要创建的类型,但通过该对象定义的名称获取的则是由工厂方法所创建的... 阅读全文
posted @ 2010-07-22 22:03 林宜鹤 阅读(272) 评论(0) 推荐(0) 编辑

2010年7月14日

摘要: 讲了这么多理论,我们来手动实现一个简易的IoC框架的,这样可以加深IoC的理论知识。  一、思路在我们使用Spring.NET框架的时候,首先需要实例化Spring.NET容器, 然后调用IoC容器IObjectFactory接口中GetObject方法获取容器中的对象。通过这一点就可以告诉我们制作IoC容器需要写一个获取XML文件内容的方法和申明一个Dictionary<string, o... 阅读全文
posted @ 2010-07-14 01:12 林宜鹤 阅读(275) 评论(0) 推荐(0) 编辑