当前位置: 首页 > news >正文

沧州网站建设优化案例wordpress 好看主题

沧州网站建设优化案例,wordpress 好看主题,saascrm国内免费pdf,中英文网站设计DI#xff08;依赖注入#xff09;#xff1a;DI#xff08;Dependency Injection#xff09;是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器#xff0c;使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入… DI依赖注入DIDependency Injection是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入可以降低代码的耦合度提高代码的重用性和可测试性。 DIP依赖倒置原则DIPDependency Inversion Principle是SOLID设计原则中的一条原则指导了代码的依赖关系设计。它的核心思想是高层模块例如业务逻辑不应该依赖于低层模块例如具体实现类而是应该依赖于抽象接口或抽象类。通过依赖倒置原则可以使得代码更加灵活和可扩展。 IOC控制反转IOCInversion of Control是一种软件设计思想通过将对象的创建和依赖关系的解析交给外部容器来进行管理。在传统的开发中开发者需要手动创建对象并维护对象之间的依赖关系。而IOC则是通过外部容器负责对象的创建和依赖关系的解析将控制权反转给了外部容器。 IOC容器IOC容器是一个负责管理对象的创建和依赖关系的容器。它接收由开发者配置的对象的依赖关系根据配置创建对象并注入依赖关系。IOC容器负责实例化对象并在需要时将其注入到其他对象中。常见的IOC容器有Autofac、Unity、Ninject等。 简而言之DI是一种设计模式DIP是一种设计原则IOC是一种设计思想而IOC容器是实现IOC思想的具体实现工具。使用IOC容器可以将对象的创建和管理交给容器实现松耦合、可测试和可扩展的代码。 这个是Demo的整体架构 using DI.IService; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DI.Service {public class CourseService : ICourseService{public CourseService(){Console.WriteLine(${this.GetType().Name}--被构造);}} }using DI.IService; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DI.Service {public class StudentService : IStudentService{private readonly ICourseService _courseService;public StudentService(ICourseService courseService){_courseService courseService;Console.WriteLine(${this.GetType().Name}--被构造);}} }using Autofac; using DI.IService; using DI.Service; using Microsoft.Extensions.DependencyInjection; using System.Reflection;Console.WriteLine(Hello, World!);// 原始方法 ICourseService courseService new CourseService(); IStudentService studentService new StudentService(courseService);// 内置容器的方法 ServiceCollection serviceDescriptors new ServiceCollection(); // 创建一个容器serviceDescriptors.AddScopedICourseService, CourseService(); // 注册抽象和具体普通类之间的关系 serviceDescriptors.AddScopedIStudentService, StudentService();ServiceProvider serviceProvider serviceDescriptors.BuildServiceProvider(); var studentService1 serviceProvider.GetService(typeof(IStudentService));// Autofac ContainerBuilder containerBuilder new ContainerBuilder(); // 得到容器的建造者containerBuilder.RegisterTypeCourseService().AsICourseService(); // 配置抽象与具体类之间的关系 containerBuilder.RegisterTypeStudentService().AsIStudentService();IContainer container containerBuilder.Build(); // Build一下得到容器实例 var studentService2 container.ResolveIStudentService();// Autofac -- 注册程序集 ContainerBuilder containerBuilder2 new ContainerBuilder(); Assembly interfaceAssembly Assembly.LoadFrom(DI.IService.dll); Assembly serviceAssembly Assembly.LoadFrom(DI.Service.dll); containerBuilder2.RegisterAssemblyTypes(interfaceAssembly, serviceAssembly).AsImplementedInterfaces(); IContainer container1 containerBuilder2.Build(); var studentService3 container1.ResolveIStudentService();输出结果
http://www.hkea.cn/news/14567024/

相关文章:

  • 鄂州网站建设网络公司购物网站开发背景
  • 网站设计规划范文上海服务政策调整
  • 企业网站建设软件需求分析滁州做网站hi444
  • 公司网站建设价格贵吗网站建设mysql数据库
  • 烟台网站开发如何用ae做模板下载网站
  • php网站开发参考书籍成立公司的流程和要求及费用
  • 网站建设概算海南百度推广公司
  • 做的好的家装网站中企动力重庆分公司怎么样
  • 海东营销网站建设公司私人定制网站建设
  • 广州网站建设 讯度网络江苏建设人才网网站
  • 网站建设的公司这个域名网查询
  • php网站管理系统上海网站建设哪
  • 网站备案费用批量外链工具
  • 网站 微信公众号 建设方案小广告内容
  • 重庆市建设工程安全网站网站建设与网页设计从入门到精通 pdf
  • 网站建设四端一体天猫网站是怎么做seo优化的
  • 网站内怎么做搜索中国最早做网站是谁
  • php禁止ip访问网站媒体网站推广法
  • 企业怎么建设自己的网站play字体WordPress
  • 做培训的网站网站营销公司哪家好
  • 什么网站可以做模型挣钱工会网站建设策划书
  • 石家庄企业做网站注册一个设计公司需要多少钱
  • 手机苗木网站源码广告设计制作公司简介
  • 微信网站的好处网站服务器有什么用
  • 自己建网站需要服务器么wordpress 文章查看次数
  • 公司网站要更新做网站很忙吗
  • 薛城区住房和城乡建设局网站家居网站页面设计图片
  • 二手书籍交易网站开发方式新媒体营销有哪些岗位
  • 佛山市城乡和住房建设局网站调查队网站建设
  • 网站中的分享怎么做电子商务网站建设及维护管理ppt