位置: 编程技术 - 正文

微软企业库Unity学习笔记(一)(微软企业官网)

编辑:rootadmin
本文主要介绍:

推荐整理分享微软企业库Unity学习笔记(一)(微软企业官网),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微软企业库 mysql,微软企业库 操作各类常见数据库,微软 企业版,微软企业库 教程,微软企业库 操作各类常见数据库,微软 unity,微软 unity,微软企业库 教程,内容如对您有帮助,希望把文章链接给更多的朋友!

关于Unity container配置,注册映射关系、类型,单实例、已存在对象和指出一些container的基本配置,这只是我关于Unity的学习心得和笔记,希望能够大家多交流相互学习到更多知识,谢谢大家的支持。

我们可以通过以下两种方法给Unity container中创建映射:

RegisterType:这个方法可以往container中注册一种类型或映射关系,当我们需要调用该类型的实例时,container会自动实例化该类型的对象,无需通过new someName方法实例化对象(例如:使用Resolve或ResolveAll方法获取注册类型的实例),当没有指定实例化对象的生命周期,将使用默认的TransientLifetimeManager(每次调用Resolve或ResolveAll方法时都会实例化一个新的对象)。RegisterInstance:这个方法是往container中注册一个已存在实例,通过Resolve或ResolveAll方法获取该类型的实例,默认使用ContainerControlledLifetimeManager管理对象生命周期,而且container中会保持对象的引用(简而言之每次调用Resolve或ResolveAll方法都会调用同一个对象的引用)。1.1 注册一个接口或类的映射到具体类型:

使用Register方法可以往容器中注册一种类型或映射关系

l 往容器中注册一种类型RegisterType<Type>l 往容器中注册一种映射关系RegisterType< RegisteredType, TargetType >

调用RegisterType<RegisteredType, TargetType>()方法可以往容器中注册一种映射关系,RegisteredType是一个接口或类,而TargetType必需实现该接口或继承该类。

1.2 注册一个单例类或单例类型实例:

涉及到对象的生命周期(Lifetime Managers):

l 默认的情况下使用TransientLifetimeManager管理对象的生命周期,以下两种方法效果一样:l 使用ContainerControlledLifetimeManager创建单例实例l 使用ExternallyControlledLifetimeManager只可以保持对象的弱引用

关于强引用和弱引用:

强引用:当一个根指向一个对象时,该对象不可能被执行垃圾收集,因为程序代码还在访问该对象。

弱引用:允许垃圾收集器收集对象,同时允许应用程序访问该对象,结果是执行哪个要取决于时间。

l 使用PerThreadLifetimeManager在同一个线程返回同一个对象实例,不同线程对象实例不相同

在使用RegisterType注册类型或映射,如果对对象生命周期进行,将使用默认的TransientLifetimeManager,它不会在container中保存对象的引用,简而言之每当调用Resolve或ResolveAll方法时都会实例化一个新的对象。当我们想在container中保存对象的引用的时我们可以使用ContainerControlledLifetimeManager管理对象的生命周期,简而言之每次调用Resolve或ResolveAll方法都会调用同一个对象的引用。

1.3 注册一个存在对象作为单件实例:

注册一个存在的对象我们使用的是RegisterInstance,它默认使用ContainerControlledLifetimeManager管理对象的生命周期,回顾以下

RegisterType和RegisterInstance区别:

Method

微软企业库Unity学习笔记(一)(微软企业官网)

Default Lifetime Managers

Same Lifetime Managers

RegisterType

TransientLifetimeManager

ContainerControlledLifetimeManager

RegisterInstance

ContainerControlledLifetimeManager

ContainerControlledLifetimeManager

当RegisterType和RegisterInstance都使用ContainerControlledLifetimeManager时的区别:

MSDN:If you used the RegisterType method to register a type, Unity creates a new instance of the registered type during the first call to the Resolve or ResolveAll method or when the dependency mechanism injects instances into other classes. Subsequent requests return the same instance.

If you used the RegisterInstance method to register an existing object, Unity returns this instance every time you call the Resolve orResolveAll method or when the dependency mechanism injects instances into other classes.

翻译:如果使用RegisterType方法注册一种类型,当第一次调用Resolve 或ResolveAll 方法或依赖机制注入一个实例到其他类时,Unity会实例化该注册类型,之后的调用都返回相同实例。

如果使用RegisterInstance方法注册一个存在对象,当我们调用Resolve和ResolveAll方法或赖机制注入一个实例到其他类时,Unity每次都返回该对象实例。

1.4 使用container的fluent interface属性:

这意味着你可以在一条语句中使用方法链

由于IUnityContainer 接口实现了IDispose接口,所有我们可以使用Using控制container资源释放

UNITY 4.6.2 IOS -BIT SUPPORT TodayweannouncethepublicreleaseofUnity4.6.2,availablefordownloadasofrightnow.ItisthefirstpublicreleasewithiOS-bitsupport,usingournewIL2CPPtechnology.IL2CPPisaninnovativescriptingtechnologydevelopedi

Asset Store 下载的package存放位置 PC:C:UsersPCNAMEAppDataRoamingUnityAssetStore//Windows8,C:UsersusernameAppDataRoamingUnityAssetStoreMAC:~/Library/Unity/AssetStore

Unity5中的高性能物理组件 长久以来,我们一直使用PhysX2.8.3。除了单独使用PhysX之外,我们还在过去的数年中,将Unity工程师开发出的多种补丁与其搭配使用。在我们即将发布的Uni

标签: 微软企业官网

本文链接地址:https://www.jiuchutong.com/biancheng/369268.html 转载请保留说明!

上一篇:Unity 3D UV实现小地图(unity lightmap uv)

下一篇:UNITY 4.6.2 IOS 64-BIT SUPPORT

  • 什么是小规模纳税人税率
  • 小规模要交增值税怎么计提
  • 什么类型的电子商务
  • 补充登记法怎么写
  • 所得税借方贷方
  • 虚开普票的立案标准
  • 个人所得税汇缴报告
  • 季报企业所税缴税了,但年报是亏损的
  • 季报现金流量表是必报表吗
  • 制造费用的借方和贷方各表示什么
  • 发票验旧的办理条件及所需资料是什么
  • 税务局开运费发票需要带什么
  • 个体工商户核定应税所得率
  • 取得抵债资产的相关税费计入
  • 固定资产领用流程图
  • 开了增值税专用发票对方不付款可以申请冻结对方公帐嘛
  • 运输费发票备注栏填不下
  • 法人给公司基本户打款
  • 财政给企业的补助资金企业是否需要开发票
  • 未计提印花税会计分录
  • 预提差率费怎么记账
  • 公允价值与计税价值区别
  • dell笔记本如何恢复系统
  • win7系统没有桌面图标怎么办
  • 进入英雄联盟显示超频怎么办
  • 以前年度费用漏记了怎么办小企业会计准则
  • 小规模企业年末怎么结转
  • php怎么输出汉字
  • 外贸企业出口退税账务处理
  • 资本公积转增股本需要缴纳个人所得税吗
  • php进程数设置
  • 广播影视服务需要许可证吗
  • 公司法人和股东哪个承担的责任大
  • Midjourney之外21款免费的AI Image画图网站集合
  • php 微信公众号自定义菜单
  • 预付劳务款项会计分录
  • 防伪税控开票系统安装
  • 无法支付其他应用怎么办
  • 新注册的小公司要登记社保吗
  • 出售在建工程账务处理
  • 退货的会计处理分录
  • 小企业会计准则和一般企业会计准则的区别
  • sql server基本
  • 限定性净资产是资产类科目吗
  • 出现什么情况企业不能持续经营
  • 长期待摊费用如何记账
  • 现金折扣是啥
  • 一次性开票分期收入账务处理
  • 收到国家电网信息但号码不是的
  • 公司买的材料做什么分录
  • 提出行政复议是否可以暂停拘留
  • 关于成本核算的论文
  • 销项负数发票是红字发票吗
  • 同一控股下并合并的股票
  • 医院的自助缴费机怎么开具发票
  • 环保局检查锅炉房都查什么
  • 自产产品赠送会计处理
  • 没有期初数据会怎么样
  • win10的java环境该怎么配置?java环境变量配置介绍
  • safari 快捷键
  • win7系统桌面快捷键
  • w8系统怎么用
  • win8怎么设置自启动
  • linux必知必会
  • 事件处理的三个要素
  • cocos creator js教程
  • opengl glu
  • 使用灭火器人要站在上风口还是下风口
  • 怎么用批处理显示文字
  • jquery 图片插件
  • 浅谈是什么意思
  • 税务工商指的是什么
  • 税务部门的扣款协议
  • 地税登记序号查询系统
  • 云南税务总局官网
  • 免抵税额在增值税申报表附表
  • 第二税务所干什么的
  • 税务稽查问题应对心得
  • 张家港港区国税局地址
  • 租赁费的税率是多少小规模纳税人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设