摘要: 摘要:FactorySupport Facility允许我们使用已经存在的工厂来创建组件的实例,可以把已经存在的对象模型加入到容器中,以便它能够使用自动装配。它使用了以下两种处理策略:1.使用访问器来访问组件的实例2.使用静态方法或者实例方式来访问组件的实例主要内容1.概述2.为什么需要FactorySupport Facility3.如何使用4.常见的配置示例5.实现原理浅析一.概述Factor... 阅读全文
posted @ 2010-03-07 23:17 Madream.F 阅读(210) 评论(0) 推荐(0)
摘要: 摘要:EnterpriseLibrary Configuration Facility就好像是在容器和数据类之间的桥,让我们可以轻松得去读取和操作配置文件。熟悉Enterprise Library的人都知道,在Enterprise Library中有一个Configuration Application Block,它可以使我们方便的从各种存储中读写配置信息,通过EnterpriseLibrary... 阅读全文
posted @ 2010-03-07 23:14 Madream.F 阅读(233) 评论(0) 推荐(0)
摘要: 摘要:在Castle IOC容器实践之TypedFactory Facility(一)里面大家都已经知道了如何去使用TypedFactory Facility,也已经体会到它的方便之处了,为了更好的使用它,本篇我们对TypedFactory Facility的原理做一些简单的分析。主要内容TypedFactory Facility原理分析……在TypedFactory Fa... 阅读全文
posted @ 2010-03-07 23:12 Madream.F 阅读(241) 评论(0) 推荐(0)
摘要: 摘要:相信大家对于Factory Method设计模式都已经不陌生了,在Factory Method中,对于每一个具体的产品都需要有一个与之对应的工厂类,随着具体的产品越来越多,我们对于工厂类的管理就越来越困难,那如何通过IOC容器来实现对工厂的管理呢?本文将给你答案,通过TypedFactory Facility来实现。主要内容1.TypedFactory Facility概述2.TypedFa... 阅读全文
posted @ 2010-03-07 23:11 Madream.F 阅读(180) 评论(0) 推荐(0)
摘要: 摘要:在Castle IOC容器实践之Startable Facility(一)中我们已经学会了如何去使用Startable Facility,本文将在此基础进一步对它的原理做一些分析。主要内容Startable Facility原理分析……在Castle IOC容器实践之Startable Facility(一)中我们已经看到了如何去使用Startable Facilit... 阅读全文
posted @ 2010-03-07 23:10 Madream.F 阅读(229) 评论(0) 推荐(0)
摘要: 摘要:从本文开始,我们将逐一实践Castle IOC中的Facility,在前面我们说过,Facility它是带有注入性质的。有时我们会遇到这样的问题,当一个组件满足一定的依赖关系之后,让它自动运行,比如说启动一个窗体或者启动某种服务,本文我们就来看如何使用Startable Facility让一个实现了接口IStartable的组件自动运行,以及不实现IStartable接口的组件如何在满足依赖... 阅读全文
posted @ 2010-03-07 23:09 Madream.F 阅读(245) 评论(0) 推荐(0)
摘要: 摘要:Castle IOC容器为我们提供了不同的生命处理方式以及组件生命周期的处理,即组件装载,初始化,销毁时所表现的行为。如何去使用它们?本文讲对这一内容进行详细的阐述。主要内容1.生命处理方式2.自定义生命处理方式3.生命周期处理一.生命处理方式我们通常创建一个组件的实例使用new关键字,这样每次创建出来的都是一个新的实例,如果想要组件只有一个实例,我们会使用Singleton模式。在Cast... 阅读全文
posted @ 2010-03-07 23:08 Madream.F 阅读(267) 评论(0) 推荐(0)
摘要: 我本人对于Spring.NET并不了解,本文只是通过一个简单的例子来比较一下两者配置之间的区别。在Castle IOC容器中,提出了自动装配(Auto-Wiring)的概念,即由容器自动管理组件之间的依赖关系,我们无需自己编写XML配置文件来配置组件之间的依赖关系。在Spring.NET中也是支持自动装配的,但是并不推荐使用,它贯穿着一种思想就是一切皆为XML配置,这是两者之间最大的一个区别。关于... 阅读全文
posted @ 2010-03-07 23:07 Madream.F 阅读(341) 评论(0) 推荐(0)
摘要: 摘要:在前一篇文章中我们并没有考虑配置的组件参数是什么类型,也没有在配置文件中指定过类型,那么Castle IOC是如何进行类型转换的?如何配置一些复杂的数据类型?如果有自定义的类型如何去进行类型转换?本文将进行一一解答这些问题。 主要内容1.基本类型配置2.Array类型配置3.List类型配置4.Dictionary类型配置5.自定义类型转换一.基本类型配置在Castle IOC的配置文件中,... 阅读全文
posted @ 2010-03-07 23:06 Madream.F 阅读(212) 评论(0) 推荐(0)
摘要: 摘要:知道如何简单使用Castle IOC,也听完了Castle IOC的内幕故事,从本文开始讲会详细讲解Castle IOC的一些使用。先从构建配置信息开始吧,在Castle IOC中并不像Spring.net那样贯穿着一个思想就是一切皆为配置,对于对象之间的依赖关系,Castle IOC会自动去连接,因此相比之下它的配置文件要比Spring.net简单的多。主要内容1.配置什么2.几种配置方式... 阅读全文
posted @ 2010-03-07 23:04 Madream.F 阅读(214) 评论(0) 推荐(0)
摘要: 摘要:上一篇文章我们了解了Castle IOC中注册组件的流程,为了更好的使用Castle IOC,本篇文章我们介绍一下Castle IOC中的几个重要的角色,开始Castle IOC容器内幕故事下角色介绍。主要内容1.ComponentModelBuilder 和 Contributors2.Contributors分析3.Handles分析4.ComponentActivator分析一.Com... 阅读全文
posted @ 2010-03-07 23:02 Madream.F 阅读(226) 评论(0) 推荐(0)
摘要: 摘要:在快速入门指南篇中,我们对于Castle IOC容器的使用已经有了一个直观的认识。本文将在这基础上进一步对Castle IOC容器的结构及其注册组件的过程做一个深入的分析,让我们开始Castle IOC的内幕故事吧。主要内容1.WindsorContainer分析2.MicroKernel分析3.注册组件流程一.WindsorContainer分析WindsorContainer是Castl... 阅读全文
posted @ 2010-03-07 23:01 Madream.F 阅读(210) 评论(0) 推荐(0)
摘要: 摘要:IOC模式是近年来非常流行的一种模式,相信大家都不陌生了,如果你还不是很熟悉的话,可以看看Martin Fowler大师的文章http://martinfowler.com/articles/injection.html,网上可以下载到中文版本。在Castle中,Windsor就是它的一个IOC容器,它构建于MicroKernel之上,功能非常强大。本文将通过一个简单的例子来带你快速走进Ca... 阅读全文
posted @ 2010-03-07 22:59 Madream.F 阅读(309) 评论(0) 推荐(0)
摘要: 摘要:虽然ActiveRecord为我们提供了Find()和FindAll()这样两个静态的查询方法,并且有Where特性可供使用,但是仍然不能解决实际开发中一些复杂的查询,这时我们就需要通过HQL查询来实现。主要内容1.HQL概述2.SimpleQuery查询3.ScalarQuery查询4.自定义查询5.使用CallBack一.HQL简单介绍HQL全名是Hibernate Query Lang... 阅读全文
posted @ 2010-03-07 22:57 Madream.F 阅读(227) 评论(0) 推荐(0)
摘要: 摘要:在ActiveRecord中把数据库表之间的关联关系采用对象间的聚合关系来表现,然而这却带来一系列的性能上的问题。就像我在One-Many中用到的例子Blog,使用Blog.Find(1)查找了一个Blog对象,也许我们只用到它,但事实它却把该Blog所关联的Post对象也读取出来放在了内存中,于是我们就需要有一种方法来实现只在需要Post对象的时候框架再自动读取。另外ActiveRecor... 阅读全文
posted @ 2010-03-07 22:56 Madream.F 阅读(233) 评论(0) 推荐(0)
摘要: 摘要:多对多的关系在日常开发中也会经常遇到,在ActiveRecord中我们用HasAndBelongsToMany特性来实现Many-Many的关联,本文将通过一个具体的实例来介绍这一用法。主要内容1.准备数据库表2.编写实体类3.编写测试代码一.准备数据库表接着在上篇文章中的例子,为了实现多对多的关系,我们引入Community,即每个Blog可以属于多个社区,每个社区也可以有多个Blog。C... 阅读全文
posted @ 2010-03-07 22:55 Madream.F 阅读(192) 评论(0) 推荐(0)
摘要: 摘要:前面几篇文章简单的介绍了ActiveRecord中的基本映射以及构建配置信息,本文我们用ActiveRecord里面的Blog,Post例子来实现One-Many/Many-One关联。主要内容1.准备数据表结构2.编写实体类并介绍HasMany和BlongsTo特性3.构建配置信息4.编写测试代码一.准备数据表结构在这个例子中,我们引入了两个对象Blog、Post,它们之间的关系是一对多,... 阅读全文
posted @ 2010-03-07 22:54 Madream.F 阅读(239) 评论(0) 推荐(0)
摘要: 摘要:本文详细介绍了ActiveRecord中的基本映射,对于关联映射会在后续文章中通过一些具体的实例来说明。主要内容简单映射1.ActiveRecordAttribute2. PrimaryKeyAttribute3.CompositeKeyAttribute4.PropertyAttribute5.FieldAttribute一.ActiveRecordAttribute每一个实体类都必须继承... 阅读全文
posted @ 2010-03-07 22:52 Madream.F 阅读(234) 评论(0) 推荐(0)
摘要: 摘要:ActiveRecord在底层封装了NHibernate,在框架启动时需要指定相关的配置信息,那么我们需要配置些什么?又该如何去配置呢?本文将会介绍在ActiveRecord中构建配置信息。主要内容1.需要配置什么2.如何去配置3.常见的配置示例一.需要配置什么在第一篇大家都已经看到了,其实我们的配置信息跟用NHibernate时的配置是一样的,这是因为ActiveRecord在底层封装了N... 阅读全文
posted @ 2010-03-07 22:50 Madream.F 阅读(232) 评论(0) 推荐(0)
摘要: 摘要:最近几天有时间看了一下Castle,原来它的功能是如此的强大,从数据访问框架到IOC容器,再到WEB框架,基本包括了整个开发过程中的所有东西,看来得好好学习研究一下了,并且打算把自己学习过程的一些东西记录下来。先从ActiveRecord开始吧,ActiveRecord提供的简洁的O/R映射给我留下了很深的印象,本文将通过一个简单对象的CRUD操作来带你快速走进Castle ActiveRe... 阅读全文
posted @ 2010-03-07 22:48 Madream.F 阅读(296) 评论(0) 推荐(1)
摘要: Castle的解释Castle 英文意思为城堡常见框架Castle和Spring.Net是.net开源框架中最热也是最优秀的两个IOC框架,NHibernate实现ORM,Castle也是使用Nhiberante来做的ORM常见的组合Spring.Net +Nhibernate或者Castle简略介绍Castle框架分为一下几个组件ActiveRecord - 1.0.3 (RC3) 基于Nhib... 阅读全文
posted @ 2010-03-07 22:11 Madream.F 阅读(641) 评论(1) 推荐(1)
摘要: 我们总结一下在第二篇中的Session操作: 1. 获取记录Personperson=(Person)session.Get(typeof(Person),1);2. 保存记录session.Save(person);3. 删除记录Personperson=(Person)session.Get(typeof(Person),1);session.Delet(person);我们再来看看其它几种方... 阅读全文
posted @ 2010-03-07 21:17 Madream.F 阅读(179) 评论(0) 推荐(0)
摘要: 好了,我们再从头看一看Configuration,是否只能从App.config中取配置信息??当然不是了,以下是3种最常见的配置:<1> Configuration config = new Configuration();这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHibernate的配置信息,NHibernate的配置节必须符合应用程序... 阅读全文
posted @ 2010-03-07 21:13 Madream.F 阅读(131) 评论(0) 推荐(0)
摘要: 接着第一期,我们继续。为了方便学习测试,从今天开始我将使用MS Test来进行测试,这样就避免了在一个Console工程里不停地添加、注释代码了。提示:为了在VS2005IDE中获得NHibernate配置文件的代码提示,请将你的$NHibernate\src\NHibernate下的nhibernate-configuration-2.0.xsd、nhibernate-mapping-2.0.x... 阅读全文
posted @ 2010-03-07 21:02 Madream.F 阅读(151) 评论(0) 推荐(0)
摘要: NHibernate Step by Step (一) Hello,NHibernate!好了,今天我们正式开始NHibernate的历程,在第一次的练习中,我将尽量详细地讲解环境的配置,以后将不再详细解释。基本的软件环境如下:1.NHibernatehttp://www.nhibernate.org/当前版本是1.0.22.Code Smithhttp://www.codesmithtools.... 阅读全文
posted @ 2010-03-07 20:48 Madream.F 阅读(165) 评论(0) 推荐(0)
摘要: 很久以前,你可能习惯了connection.open,command.execute("select...")这样的代码,写啊写啊,你开始不停地copy/paste,因为数据库的操作太雷同了,还好,粘粘贴贴倒也凑合,然后有一天客户说他们要用oracle,于是你开始抱着本oracle开发指南狂啃pl/sql,你开始试验调用oracle的存储过程该怎么写,参数是用@还是?或者是:,取个blob游标又要... 阅读全文
posted @ 2010-03-07 20:47 Madream.F 阅读(113) 评论(0) 推荐(0)