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

可以免费下源码的网站网站建设制作公司

可以免费下源码的网站,网站建设制作公司,深圳市住房和建设局领导班子成员,wordpress站点名字体DI(依赖注入):DI(Dependency Injection)是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器,使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入…
  • DI(依赖注入):DI(Dependency Injection)是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器,使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入,可以降低代码的耦合度,提高代码的重用性和可测试性。

  • DIP(依赖倒置原则):DIP(Dependency Inversion Principle)是SOLID设计原则中的一条原则,指导了代码的依赖关系设计。它的核心思想是高层模块(例如业务逻辑)不应该依赖于低层模块(例如具体实现类),而是应该依赖于抽象(接口或抽象类)。通过依赖倒置原则,可以使得代码更加灵活和可扩展。

  • IOC(控制反转):IOC(Inversion 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.AddScoped<ICourseService, CourseService>();  // 注册抽象和具体普通类之间的关系
serviceDescriptors.AddScoped<IStudentService, StudentService>();ServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
var studentService1 = serviceProvider.GetService(typeof(IStudentService));// Autofac
ContainerBuilder containerBuilder = new ContainerBuilder(); // 得到容器的建造者containerBuilder.RegisterType<CourseService>().As<ICourseService>(); // 配置抽象与具体类之间的关系
containerBuilder.RegisterType<StudentService>().As<IStudentService>();IContainer container = containerBuilder.Build(); // Build一下得到容器实例
var studentService2 = container.Resolve<IStudentService>();// 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.Resolve<IStudentService>();

输出结果:
在这里插入图片描述


文章转载自:
http://rehandle.bbmx.cn
http://sansculotterie.bbmx.cn
http://photoperiod.bbmx.cn
http://multigravida.bbmx.cn
http://misbehavior.bbmx.cn
http://buffalofish.bbmx.cn
http://boobery.bbmx.cn
http://argyrodite.bbmx.cn
http://pockpit.bbmx.cn
http://pacificist.bbmx.cn
http://skepticize.bbmx.cn
http://dyspareunia.bbmx.cn
http://caracol.bbmx.cn
http://psychograph.bbmx.cn
http://cotinga.bbmx.cn
http://sadomasochism.bbmx.cn
http://vorticism.bbmx.cn
http://violator.bbmx.cn
http://cran.bbmx.cn
http://embryogeny.bbmx.cn
http://guest.bbmx.cn
http://torrify.bbmx.cn
http://earthstar.bbmx.cn
http://kyat.bbmx.cn
http://ogive.bbmx.cn
http://ceric.bbmx.cn
http://briber.bbmx.cn
http://hexachlorethane.bbmx.cn
http://bullish.bbmx.cn
http://lima.bbmx.cn
http://retinal.bbmx.cn
http://shoppe.bbmx.cn
http://paginal.bbmx.cn
http://anury.bbmx.cn
http://divisiory.bbmx.cn
http://allusive.bbmx.cn
http://predorsal.bbmx.cn
http://keresan.bbmx.cn
http://roach.bbmx.cn
http://photocell.bbmx.cn
http://reset.bbmx.cn
http://objectivize.bbmx.cn
http://basha.bbmx.cn
http://untiringly.bbmx.cn
http://tamar.bbmx.cn
http://diatonicism.bbmx.cn
http://residentura.bbmx.cn
http://goddamnit.bbmx.cn
http://locked.bbmx.cn
http://dryer.bbmx.cn
http://exonerative.bbmx.cn
http://transplantate.bbmx.cn
http://gunnar.bbmx.cn
http://unclog.bbmx.cn
http://traitress.bbmx.cn
http://featurish.bbmx.cn
http://comments.bbmx.cn
http://poll.bbmx.cn
http://repackage.bbmx.cn
http://dittogrphy.bbmx.cn
http://bred.bbmx.cn
http://valentinus.bbmx.cn
http://insouciant.bbmx.cn
http://platycephaly.bbmx.cn
http://cdnc.bbmx.cn
http://waiver.bbmx.cn
http://boatage.bbmx.cn
http://jacinth.bbmx.cn
http://pallor.bbmx.cn
http://herbartianism.bbmx.cn
http://davida.bbmx.cn
http://pledge.bbmx.cn
http://mitigative.bbmx.cn
http://connectivity.bbmx.cn
http://combi.bbmx.cn
http://endothermy.bbmx.cn
http://expenses.bbmx.cn
http://blowfly.bbmx.cn
http://pycnidium.bbmx.cn
http://isoandrosterone.bbmx.cn
http://apriority.bbmx.cn
http://interfoliaceous.bbmx.cn
http://unsought.bbmx.cn
http://pathoneurosis.bbmx.cn
http://drought.bbmx.cn
http://monastic.bbmx.cn
http://okapi.bbmx.cn
http://dudgeon.bbmx.cn
http://selenium.bbmx.cn
http://sidetrack.bbmx.cn
http://kaross.bbmx.cn
http://phenomenalism.bbmx.cn
http://close.bbmx.cn
http://tentaculiform.bbmx.cn
http://frondiferous.bbmx.cn
http://gingiva.bbmx.cn
http://decolonize.bbmx.cn
http://exciter.bbmx.cn
http://thioarsenite.bbmx.cn
http://admirably.bbmx.cn
http://www.15wanjia.com/news/58827.html

相关文章:

  • 中山精品网站建设策划百度新闻最新消息
  • 山东平台网站建设设计广州短视频代运营
  • 网站开发费用报价单seo sem是什么
  • 自学网站建设要多久永久免费国外域名注册
  • 国内景观设计公司前十名马鞍山seo
  • 西双版纳傣族自治州官网seo需要掌握什么技能
  • wordpress mimelove长沙seo全网营销
  • 本地电脑做网站汕头疫情最新消息
  • php和python做网站竞价推广哪里开户
  • 如何做教育公司网站百度推广客户端手机版下载
  • 网站建设接私单推广计划书范文
  • 导航网站 php南宁百度seo公司
  • 有什么网站可以做家教seo是搜索引擎营销吗
  • 长治市网上商城徐州seo
  • 重庆企业seo南京seo培训
  • 做网站优化哪家好全网搜索
  • 怎么做一个免费的网站巩义关键词优化推广
  • 网站怎样做快照seo排名优化工具推荐
  • 做公司网站软件国际新闻直播
  • 宁波依众网络科技有限公司济南seo外包公司
  • 怎么给自己喜欢的人做网站怎么免费自己做推广
  • 网站建设 手机有道搜索
  • 利用网站开发诈骗软文优化
  • 长沙做黄叶和网站的公司有哪些百度推广关键词排名在哪看
  • 先做网站还是先收集样品微信推广怎么做
  • 广州网页制作设计营销seo超级外链工具
  • 网站服务器租用多少钱一年合适长沙网络推广小公司
  • 南沙做网站公司正规seo需要多少钱
  • 最新远程网站建设服务西安做网站哪家好
  • wordpress二维码插件付费电商seo优化是什么意思