96SEO 2026-02-20 05:39 22
。

也就是说学习依赖注入#xff0c;是学习怎样实现控…3.1.1
杨老师在书中进行了一系列的文字阐述总结一下就是软件设计模式中有一种叫做【控制反转】的设计模式而依赖注入是实现这种设计模式的一个很重要的方式。
也就是说学习依赖注入是学习怎样实现控制反转这一设计模式。
控制反转是一种编程思想它将对象的创建、依赖关系的管理等控制权从代码内部转移到外部容器。
在传统编程中对象的创建和依赖关系的处理是在代码中硬编码实现的这会导致代码之间的耦合度较高。
而控制反转通过将这些控制权交给外部容器使得代码更加灵活和可扩展。
依赖注入是控制反转最常用的实现方式它是指将对象的依赖关系通过构造函数、属性或者方法参数的方式注入到对象中。
常见的依赖注入有三种
DoSomething(){Console.WriteLine(Doing
Execute(){_service.DoSomething();}
Client(service);client.Execute();}
DoSomething(){Console.WriteLine(Doing
DoSomething(){Console.WriteLine(Doing
service){service.DoSomething();}
Client();client.Execute(service);}
原著讲依赖注入框架中注册的服务有一个重要的概念叫做“生命周期”通俗的说就是“获取服务的时候是创建一个新对象还是用之前的对象”。
依赖注入框架中服务的生命周期有三种
每次请求创建新对象。
避免多段代码共用一个对象造成混乱缺点耗资源。
在给定范围内多次请求共享同一个服务对象服务每次请求的时候都会返回同一个对象。
全局共享一个服务对象。
为了避免并发修改问题单例的服务对象最好是无状态对象。
如果有状态且框架环境中有范围控制建议设置为范围通常在范围控制下代码都在同一线程所以没有并发修改问题。
书上举得例子代码不太完善但杨老师在视频教程中演示了一个例子比较简介明了我实操了一下
当然在使用依赖注入之前还需要安装Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.DependencyInjection;
System.Runtime.CompilerServices;class
创建一个服务容器实例用于注册服务ServiceCollection
注册Controller类为作用域服务services1.AddScopedController();//
注册ILog接口的实现类LogImpl为作用域服务services1.AddScopedILog,
注册IStorage接口的实现类StorgeImpl为作用域服务services1.AddScopedIStorage,
注册IConfig接口的实现类ConfigImpl为作用域服务services1.AddScopedIConfig,
services1.BuildServiceProvider()){//
sp.GetRequiredServiceController();//
构造函数通过依赖注入接收ILog和IStorage接口的实现类public
Test(){this.log.Log(开始上传);this.storage.Save(bufweqrijfhyurjfnkjbhs,
msg){Console.WriteLine($日志{msg});}
ConfigImpl类实现IConfig接口用于返回固定的配置值
StorgeImpl类实现IStorage接口用于根据配置信息保存文件内容到指定服务器
构造函数通过依赖注入接收IConfig接口的实现类public
Save方法用于根据配置信息保存文件内容到指定服务器public
config.GetValue(server);Console.WriteLine($服务器{service},
杨老师在这个例子里讲到依赖注入的核心奥义就是降低各个模块之间的耦合度。
再补充描述一下这种依赖注入的模式极大的提高了项目的可维护性和各个模块的可插拔性。
比如例子当中获取数据存储的配置参数当配置参数的实现或者类型变化时只需要改变【IConfig】
的实现即可业务层的【StorgeImpl】完全不用管【IConfig
config】是怎么实现或者怎么变化的只要是【IConfig】对象即可。
服务的实现和服务的调用高度解耦真正意义上实现了且超级简易的实现了“我创建对象”到“我要对象”的改变。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback