Castle Core 4.0.0 alpha001发布

Castle项目发布CastleCore 4.0.0 alpha版本,包含DynamicProxy和DictionaryAdapter两大核心组件。DynamicProxy用于.NETCore环境下的动态代理,支持透明代理及方法调用拦截等功能。DictionaryAdapter提供IDictionary类型的强类型包装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    时隔一年多以后Castle 项目又开始活跃,最近刚发布了Castle Core 4.0.0 的alpha版本, https://github.com/castleproject/Core/releases主要包括的内容是DynamicProxy 和 DictionaryAdapter,日志集成工作正在开发中,这个版本主要针对的是.NET Core版本的更新。

    Castle.DynamicProxy可以实现动态代理的功能,这个也是很多框架的基础。也就是说它是众多开源项目向.NET Core兼容的重要基础组件。在IBatis.Net中就是使用了Castle.DynamicProxy来实现数据库连接等动态操作的。同时在NHibernet等其他框架中也使用到了这个技术。特点是实体不需要继承MarshalByRef、ContextBoundObject便可以实现代理类。基于透明代理的功能,可以实现对方法调用的拦截处理,例如NHibernate用它实现延迟加载DP的使用非常简单,内部没有使用反射,而是采用Emit、委托等方式生成代理类型,调用真实类的方法,性能方面也没有太多损失。而且更重要的是将在.NET Core中被废止的技术 已经提到反射在.NET Core中已经产生了很大的变化,相信以后Castle.DynamicProxy会有更大的用处。基本使用可参照 AOP之Castle DynamicProxy 动态代理

    Castle DictionaryAdapter 也是一个很有用的工具,动态生成 IDictionary (包括泛型) 类型的强类型包装。不只如此,但它也有一些其他功能,如支持 INotifyPropertyChanged,可编辑性、 错误处理等...,

有很多非类型化的字典中使用,例如Session, Form, QueryString, Context.Items和 MonoRail's PropertyBag ,也可以用来包装 app.settings/web.settings。推荐看下这两篇文章,DictionaryAdapter is Love (Part 1)、 DictionaryAdapter is Love (Part 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值