CatLib Core 1.3.0 Aplha.1
Pre-release
Pre-release
通过Nuget安装CatLib Core
Install-Package CatLib.Core -Version 1.3.0-alpha.1
框架
- 升级为 c# 7.0 语法(#64 )
- 增加
LogicException
逻辑错误异常(#80 ) - 增加
CodeStandardException
代码规范异常(#62 ) ServiceProvider.Register
不再是abstract
- 增加了
ICoroutineInit
协同初始化接口(默认的迭代器为同步迭代器和Init
没有本质区别,在其他环境下可能受到环境影响) ApplicationEvents.OnIniting
被标记为已过时,使用:ApplicationEvents.OnProviderInit
替换- 新增了
ApplicationEvents.OnProviderInit
服务提供者初始化之前 - 新增了
ApplicationEvents.OnProviderInited
服务提供者初始化完成 - Application Version现在是静态化的了(#90 )
代码规范性检查
- 如果尝试为同一个单例化的实例注册不同的服务名,则会异常发一个异常(#62)
- 如果尝试在注册流程中Make服务,那么会引发一个异常。 (#59)
- 通过容器Watch一个对象时,只有当对象时可以被构建时才允许被watch。因为我们认为观察的只能是一个已经被确定的服务,而不是一个未知服务。 (#59)
- 如果尝试在注册流程中Invoke函数,那么会引发一个异常。(#62)
容器服务
- 服务容器增加了解决事件和释放事件的条件筛选(#84 )
- 服务容器增加OnAfterResolving的支持。(#83 )
- 使用this[] set对象时会进行隐式的对象绑定(bind)(#82 )
- 增加Extend函数,用于处理服务的覆盖及拓展关系,OnResolving不再允许覆盖对象。(#79)
- 服务容器Watch接口从容器实现转移至扩展函数(#81)
- 增加服务特殊字符
@
,$
和:
识别,如果包含则不允许注册。(#61) - 增加变量标签
$
同@
一样,具备相同的变量映射作用。(#61) - 容器在
flush
对象时将会按照构建顺序的相反顺序释放服务(之前是需要通过辅助组件来完成)(#55) - 服务容器增加
App.Alias<TService, TAlias>()
的拓展方法支持(#57)