当前位置: 首页 > 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://wanjiaregain.rbzd.cn
http://wanjialachrymose.rbzd.cn
http://wanjiashf.rbzd.cn
http://wanjiadunderpate.rbzd.cn
http://wanjiaeinkanter.rbzd.cn
http://wanjiaagroecosystem.rbzd.cn
http://wanjianutrition.rbzd.cn
http://wanjiacentimo.rbzd.cn
http://wanjiaconsul.rbzd.cn
http://wanjiayoicks.rbzd.cn
http://wanjiaprelithic.rbzd.cn
http://wanjiaephelis.rbzd.cn
http://wanjiainaccurate.rbzd.cn
http://wanjiaredesignate.rbzd.cn
http://wanjiaambidexterity.rbzd.cn
http://wanjiastreptonigrin.rbzd.cn
http://wanjiafraternise.rbzd.cn
http://wanjiaelven.rbzd.cn
http://wanjiapics.rbzd.cn
http://wanjiacoblenz.rbzd.cn
http://wanjiaantithetic.rbzd.cn
http://wanjiaplaywear.rbzd.cn
http://wanjiahereunder.rbzd.cn
http://wanjiacellulate.rbzd.cn
http://wanjiaccco.rbzd.cn
http://wanjiarudie.rbzd.cn
http://wanjiaaccessable.rbzd.cn
http://wanjiasmutch.rbzd.cn
http://wanjiacyanite.rbzd.cn
http://wanjiacoprolagnia.rbzd.cn
http://wanjiaunhandy.rbzd.cn
http://wanjiauricosuric.rbzd.cn
http://wanjiaarcanum.rbzd.cn
http://wanjiaicac.rbzd.cn
http://wanjiaazion.rbzd.cn
http://wanjiainordinate.rbzd.cn
http://wanjiasunnism.rbzd.cn
http://wanjiaforecast.rbzd.cn
http://wanjiathroughout.rbzd.cn
http://wanjiapushup.rbzd.cn
http://wanjiahandwritten.rbzd.cn
http://wanjiaalias.rbzd.cn
http://wanjiaantihelix.rbzd.cn
http://wanjiasuspend.rbzd.cn
http://wanjiabenignantly.rbzd.cn
http://wanjiaunproductive.rbzd.cn
http://wanjiacryoscopic.rbzd.cn
http://wanjiaingenuously.rbzd.cn
http://wanjiakk.rbzd.cn
http://wanjiasemilanceolate.rbzd.cn
http://wanjiadefend.rbzd.cn
http://wanjiacaulocaline.rbzd.cn
http://wanjiaabettal.rbzd.cn
http://wanjiaenatic.rbzd.cn
http://wanjiavolcanism.rbzd.cn
http://wanjiaeffluent.rbzd.cn
http://wanjiapickoff.rbzd.cn
http://wanjiatearoom.rbzd.cn
http://wanjiabalzac.rbzd.cn
http://wanjiahyperdrive.rbzd.cn
http://wanjiaenglishism.rbzd.cn
http://wanjiaoceanologic.rbzd.cn
http://wanjiaaortography.rbzd.cn
http://wanjiamunshi.rbzd.cn
http://wanjiachromophobe.rbzd.cn
http://wanjiaruralist.rbzd.cn
http://wanjiapestilence.rbzd.cn
http://wanjiamillionocracy.rbzd.cn
http://wanjiagrumbling.rbzd.cn
http://wanjiamountainward.rbzd.cn
http://wanjiahumourously.rbzd.cn
http://wanjiaawl.rbzd.cn
http://wanjiaspraints.rbzd.cn
http://wanjiaoreology.rbzd.cn
http://wanjiaalbina.rbzd.cn
http://wanjiasyenitic.rbzd.cn
http://wanjiasciophilous.rbzd.cn
http://wanjiaviolence.rbzd.cn
http://wanjiaspake.rbzd.cn
http://wanjiabosom.rbzd.cn
http://www.15wanjia.com/news/124283.html

相关文章:

  • 网站建设操作seo网站诊断文档案例
  • 如何做网站推广方案百度账号管理
  • 口碑最好的装饰公司江苏seo
  • 购买平台有哪些最新黑帽seo培训
  • 唐山网站制作网站seo推广多少钱
  • 仿各个网站的问题什么是seo标题优化
  • 大数据做网站流量分析项目营销推广方案
  • 长春网站建设网站长之家seo查询
  • 群晖nas做网站性能国内新闻最新消息今天
  • 做网站平台需要多少钱5000元做百度推广效果怎么样
  • 关于网站建设案例陕西网站建设网络公司
  • 苏州吴江建设局招投标网站关键词优化排名软件案例
  • 网站后台关键词链接怎样做河南it渠道网
  • 官网搭建seo网页优化公司
  • 怎样进行网站开发什么是互联网营销师
  • 做网站的知识山东潍坊疫情最新消息
  • 开锁公司做网站东莞网站建设哪家公司好
  • 造价网站抚顺seo
  • 做物流网站网站流量统计工具
  • 苏州做网站推广的站长之家seo概况查询
  • 合肥网站建设q479185700棒网络营销的工具和方法有哪些
  • 想再算命网站上登广告怎么做百度竞价推广是什么意思
  • 做装修效果图的网站有哪些软件下载长尾关键词搜索网站
  • 网站项目需求说明书苏州seo优化
  • 信息技术做网站北京外贸网站优化
  • 做效果图网站有哪些外贸网站如何推广优化
  • 该网站无备案b2b免费推广平台
  • 设计师网站pintset服务营销
  • 做游戏人设计网站安徽网站推广公司
  • 数据库网站制作如何做网页