首页 > 其他分享 >IOC容器

IOC容器

时间:2023-08-24 17:55:24浏览次数:38  
标签:容器 container mInstance class key var IOC public

namespace Feng.FramWorkDesign
{
public class IOCContainer
{
private Dictionary<Type, object> mInstance = new Dictionary<Type, object>();

public void Register<T>(T instance)
{
var key = typeof(T);
if (mInstance.ContainsKey(key))
{
mInstance[key] = instance;
}
else
{
mInstance.Add(key,instance);
}
}

public T Get<T>() where T : class
{
var key = typeof(T);
if (mInstance.TryGetValue(key,out var retInstance))
{
return retInstance as T;
}
return null;
}
}
}

-----------------------------------------------------------------------
使用方法
namespace Feng.FramWorkDesign
{
public class IOCExample : MonoBehaviour
{
private void Start()
{
//创建一个IOC容器
var container = new IOCContainer();

//注册一个实例
container.Register(new BluetoothManager());

//根据类型获取实例
var bluetoothManager = container.Get<BluetoothManager>();

//实现方法
bluetoothManager.Connect();
}


}

public class BluetoothManager
{
public void Connect()
{
Debug.Log("链接成功");
}
}
}

标签:容器,container,mInstance,class,key,var,IOC,public
From: https://www.cnblogs.com/TriggerF/p/17654807.html

相关文章

  • 如何让公司其他项目组的传统部署迁移到容器部署
    准备好容器环境组织项目方、开发、测试、运维进行容器相关培训评估应用上云的必要性,可行性和风险,综合决定是否上云及哪些部分上云。选择新项目以容器方式部署,新项目稳定后,在对老项目进行推广选择非核心无状态的业务服务优先实践CI/CD流水线相关改造情况一:应用不做任何改......
  • 【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失
    问题起因最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。经过本人在Linux虚机中启动MySQL容器导入数据再dockercommit出镜像部署到平台......
  • Docker开启和关闭容器自启动
    启动容器增加–-restart=always参数设置自启动dockerrun--restart=always--nametest--net=host-dtest//test为镜像河容器名称已启动的容器设置自启动dockerupdate–-restart=always容器ID或者容器名称已启动的容器关闭自启动dockerupdate--restart=no容器ID或者容......
  • Docker的inspect命令查看容器详细信息--九五小庞
    很久之前建的一个容器,今天发现找不到端口信息了。。。这都是小问题,执行dockerinspect命令可以查看容器的详细信息,推荐!不用进入容器内部,命令格式为:dockerinspect[想要查看信息的容器id或者容器名字]运行这个命令会返回一个json字符串,显示这个docker容器的全部内容。—————......
  • Java 常见并发容器总结
    Java常见并发容器总结​ JDK提供的这些容器大部分在java.util.concurrent包中。ConcurrentHashMap:线程安全的HashMapCopyOnWriteArrayList:线程安全的List,在读多写少的场合性能非常好,远远好于Vector。ConcurrentLinkedQueue:高效的并发队列,使用链表实现。可以......
  • docker上建一个jenkins容器 连gitee上代码 当更改代码后,浏览器页面更新
    1.dockerpulljenkinszh/jenkins-zh  2.设置端口  3访问本机的浏览器 跳转 4在cmd窗口输入命令 找到密码,输入,点击继续按钮 5下载默认推荐的插件 6填写账号和密码必须写自己设置的容器的账号和密码 7.  8进入主页面 9插件管理点击......
  • Kubernetes、Docker Swarm和Rancher的特点 - 容器编排平台比较
    本文将介绍三种流行的容器编排平台:Kubernetes、DockerSwarm和Rancher。我们将比较它们的特点,包括架构、功能、性能和生态系统。通过了解这些平台的优势和劣势,读者可以更好地选择适合自己需求的容器编排平台。引言随着容器技术的快速发展,容器编排平台的需求也日益增长。容器编排......
  • k3s 容器集群
    *参考*https://docs.k3s.io/architecturehttps://ithelp.ithome.com.tw/users/20121071/ironman/2820?page=1https://www.fullstaq.com/knowledge-hub/blogs/setting-up-your-own-k3s-home-clusterK3SasKubernetesdistributionMetalLBasloadbalancerRancherasc......
  • 字符设备驱动-13.ioctl命令详解
    1引入ioctl一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能增添命令,通常以增设ioctl()命令的方式实现。对于ioctl这个系统调用接口,Linux的创始人在2.0版本之前并没有进行添加,仅有write和read两个接口,但是后来发现当需要......
  • 将.NET应用程序容器化与Docker
    当谈到现代软件开发和部署方法时,Docker已经成为一个备受欢迎的工具。它为开发人员和运维团队提供了一种简单而有效的方法,将应用程序及其依赖项打包到一个称为容器的独立单元中。在本篇博客中,我们将探讨如何将.NET应用程序容器化使用Docker。什么是Docker?Docker是一种容器化平......