首页 > 其他分享 >依赖注入框架

依赖注入框架

时间:2022-10-21 14:23:00浏览次数:57  
标签:依赖 框架 public Assert provider Debug GetService class 注入

1、

.net扩展类库,抽象接口和基础类型

 

 案例1:

    public static class Sample01
    {
        public interface IAccount{
            public string getDataCZ();
        }
        public interface IMessage{ }
        public interface ITool{ }

        public class Account: IAccount{
            public string getDataCZ()
            {
                return "CHENZE 第一个依赖框架";
            }
        }
        public class Message: IMessage{}
        public class Tool: ITool{}

        public static void Run()
        {
            var provider = new ServiceCollection()
                .AddTransient<IAccount, Account>()
                .AddScoped<IMessage, Message>()
                .AddSingleton<ITool, Tool>()
                .BuildServiceProvider();


            IAccount entity = provider.GetService<IAccount>();
            Console.WriteLine(entity.getDataCZ());

            Debug.Assert(provider.GetService<IAccount>() is Account);
            Debug.Assert(provider.GetService<IMessage>() is Message);
            Debug.Assert(provider.GetService<ITool>() is Tool);
        }
    }
View Code

输出:

 

 

类 ServiceCollection (服务集合)的方法

AddTransient:

AddScoped:

AddSingleton:

 

标签:依赖,框架,public,Assert,provider,Debug,GetService,class,注入
From: https://www.cnblogs.com/chenze-Index/p/16813275.html

相关文章

  • APICloud AVM框架 数字滚动组件
    AVM(Application-View-Model)前端组件化开发模式基于标准WebComponents组件化思想,提供包含虚拟DOM和Runtime的编程框架avm.js以及多端统一编译工具,完全兼容WebComponents标......
  • 在 Kuix 框架下绘制自己定义的画布
    在Kuix框架下绘制自己定义的画布       本文详细介绍了如何在以低级界面实现的Kuix框架下绘制自定义画布,以及自定义画布用户事件的加入。       我们......
  • 什么是开源工作流框架?有什么特点?
    在大数据时代,开源工作流框架也成为大家提升办公效率的利器软件之一。那么,什么是开源工作流框架?又有哪些特点?作为低代码平台服务商,流辰信息有责任和义务潜心研发更多优良的......
  • gin框架(1)- 路由原理:trie和radix tree
    1.前言本篇是对gin框架源码解析的第一篇,主要讲述gin的路由httprouter的原理:radixtree(压缩字典树)。2.Trie(字典树)在讲述radixtree之前,不得不简单提到radixtree......
  • python 异步任务框架 celery
    简介celery是一个分布式任务调度框架,由python编写。它专注于实时处理,在任务发布后,管理分配任务到不同的服务器,并取得结果。在执行任务分配时需要一个消息中间件(Broker),......
  • robotframework自动化测试框架实战教程:创建及使用测试库
    创建测试库测试库的实现可以是Python模块,也可以是Python类.Python模块   Python类 测试库通常在Setting表格中设置 Library 来导入,库名称跟在 Libra......
  • Fork-join框架
    Fork-join框架forkjoin特点:工作密取,平衡可用线程的工作负载。分支并行每个工作线程都有一个双端队列(一个工作线程将子任务压入其双端队列队头,一个工作线程空闲时,它会从......
  • 今天说下怎么创建Java后端框架Spring Boot的项目
    使用java编程,就不得不提到久负盛名的Java后端框架SpringBoot今天来跟大家说下怎么创建SpringBoot的第一个项目,都需要做哪些准备吧。首先介绍下SpringBoot主要提供了......
  • Spring框架中蕴含的经典设计思想
    从Spring看框架的作用解耦业务和非业务开发、让程序员聚焦在业务开发上;隐藏复杂实现细节、降低开发难度、减少代码bug;实现代码复用、节省开发时间;规范化标准化项目开发......
  • 单片机裸机开发框架-时间轮询法
    一、设置方法所需结构体typedefstructTASK_COMPONENTS{unsignedcharRun;//程序运行标记:0-不运行,1-运行,这里是程序会不会运行unsigne......