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

设计师 网站 贵做个电商网站

设计师 网站 贵,做个电商网站,小程序商城排名,延安市建设局网站一、IOC控制反转和DI依赖倒置 1、IOC框架核心原理是依赖倒置原则 C#设计模式的六大原则 使用这种思想方式#xff0c;可以让我们无需关心对象的生成方式#xff0c;只需要告诉容器我需要的对象即可#xff0c;而告诉容器我需要对象的方式就叫做DI#xff08;依赖注入可以让我们无需关心对象的生成方式只需要告诉容器我需要的对象即可而告诉容器我需要对象的方式就叫做DI依赖注入。 今天主要想研究一下DI依赖注入这里我选了VContainer 地址:https://github.com/hadashiA/VContainer 文档地址:https://vcontainer.hadashikick.jp/ 二、VContainer介绍 ​ 由于我们使用的是Unity而主要的Mono不支持构造函数。所以我们这里选择注入方式主要是特性注入和方法注入 三、VContainer案例 1简单方法注入 1、注册类型 public class GameLifetimeScope : LifetimeScope {protected override void Configure(IContainerBuilder builder){builder.RegisterEntryPointActorPresenter();} } 2、方法注入 这里实现接口 IStartable和ITickable。它是不依赖于Mono的接口因此性能上更好另一方面IStartable与Mono的StartITickable与Mono的Update都是相同的。 public class ActorPresenter : IStartable,ITickable {public void Start(){Debug.Log(Start ActorPresenter);}public void Tick(){Debug.Log(Update ActorPresenter);} } 2基础MVC功能 Model层 public class UIModel {public void Hello() {Debug.Log(Hello World);} } View层 public class UIView : MonoBehaviour {public Button button; } Control层 public class UIControl : IStartable {readonly UIModel _model;readonly UIView _view;public UIControl(UIModel model){this._model model;}public UIControl(UIModel model, UIView view){this._model model;this._view view;}public void Start(){_view.button.onClick.AddListener(() _model.Hello());} } 通过这样做我们成功地分离了领域控制/控制流/显示组件 在VContainter中记得注册 public class GameLifetimeScope : LifetimeScope {public UIView helloScreen;protected override void Configure(IContainerBuilder builder){builder.RegisterEntryPointUIControl();builder.RegisterUIModel(Lifetime.Singleton);builder.RegisterComponent(helloScreen);} } 3构造注入 构造函数里只需要写一个需要依赖注入的函数成员变量里就可以随时获得对象。如下例子ClassB构造函数的参数是ClassA我们的classA变量就可以随时使用 class ClassB : IStartable,ITickable {readonly ClassA a;public ClassB(ClassA a){Debug.Log(ClassA构造函数注入);this.a a;}public void Start(){a.Start();}public void Tick(){a.Update();} } class ClassA {public ClassA(){Debug.Log(ClassA构造);}public void Start(){Debug.Log(Start);}public void Update() {Debug.Log(Update);} } public class GameLifetimeScope : LifetimeScope {//public UIView helloScreen;protected override void Configure(IContainerBuilder builder){builder.RegisterEntryPointClassB();builder.RegisterClassA(Lifetime.Singleton);} } 4方法注入其他的和上边一样 class ClassB : IStartable,ITickable {private ClassA a;[Inject]public void GetClassA(ClassA a) {Debug.Log(方法注入);this.a a;}public void Start(){a.Start();}public void Tick(){a.Update();} } 5字段/属性注入 class ClassB : IStartable,ITickable {[Inject]private ClassA a;public void Start(){a.Start();}public void Tick(){a.Update();} }
http://www.zqtcl.cn/news/170923/

相关文章:

  • 设计师作品展示网站做图软件官方网站
  • 企业网站网站建设价格seo短视频网页入口引流
  • 旅游电商网站建设方案模板济南搜点网络科技有限公司
  • 网站模板 带手机端头条推广平台有哪些
  • 有没有专门做衣服的网站小程序加盟代理前景
  • app网站开发报价wordpress怎么加快网站打开速度
  • 路南网站建设可用的ftp网站
  • 台州市建站公司网站免费建设推荐
  • 网站世界排名怎么做柘城县网站建设
  • 网站设计与制作培训班户外运动网站建设策划
  • 保险公司网站网站域名注册哪个好
  • 平台网站建设可行报告工作室注册条件
  • 罗湖附近公司做网站建设哪家便宜做cpa必须要有网站吗
  • 深圳网站开发教程wordpress密码登录插件
  • 农机网站建设目标上海网站建设工资多少
  • 手机做网站过程网站名字做版权需要源代码吗
  • 公司微信网站建设方案现在做外贸前景如何
  • 如何使用微信公众号做网站河南省专业做网站公司
  • 清远市清城区网站建设公司广州黄浦区建设局网站
  • 站长做2个网站网站程序指的是什么
  • 网站建设jw100请拿笔记记下新域名
  • 兰州市住房保障和城乡建设局网站如何有效的推广网站
  • 网站推广做百度还是360北京企业网站建设费用
  • 推荐一个简单的网站制作策划方案免费网站
  • 用vs2012做网站案例企业现在有必要做网站吗
  • 网站建设少用控件wordpress默认分类
  • php网站是什么数据库文件网站开发收
  • 新网网站空间做网站和app哪类商标
  • drupal网站建设数据库厦门市网站建设
  • 解释微信微网站室内设计效果图展板