Unity不用太多介绍,园子里很多Unity入门的文章。我一直以来也没有时间研究,直到昨天看了深入 Unity 1.x 依赖注入容器之一:入门才见识到Unity的真面目。初一看某些地方感觉和Google的Guice很相似,Guice提供利用Annotation来进行注入,而Unity则提供[Dependency]的Property,两者有异曲同工之效。Unity还有更多的创新,比如InjectionMethod,在很多场合它也能被用到。
但是看后又觉得[Dependency]注入的方式太具有侵入性了,如果我现在有大量的代码,想加上IOC。那么就不得不在每个注入点加上[Dependency]和Using... 这是很危险的。我们引入Unity帮助创建对象,但它却分散到代码中的各个地方,难以被改变,其违背了“高内聚,低耦合”的原则。
既然Unity允许使用配置文件进行初始化,我就想它应该也支持配置文件指定属性注入。翻查了官方文档后,发现Unity的确支持。不多说,放出一个Log的小例子,各位看了就会明白。
接口及类:
Main函数
配置文件
很简单,不是吗?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?