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

常州专业做网站公司广东企业网站seo报价

常州专业做网站公司,广东企业网站seo报价,宁波网站建设系统介绍,常州网站开发培训目录 一、了解IOC 1、概念 2、生命周期 二、使用 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 方式一(收发消息) 方式二(收发消息) 方式三(请求消息) 一、了解IOC IOC,即控制…

目录

一、了解IOC

1、概念

2、生命周期

二、使用

三、扩展-CommunityToolkit.Mvvm工具包

Messenger信使

方式一(收发消息)

方式二(收发消息)

方式三(请求消息)


一、了解IOC

IOC,即控制反转(Inversion of Control),它通过将对象的创建和管理责任从应用程序代码中转移到外部容器或框架中,实现了对象之间的松耦合和依赖性反转。

1、概念

  • 依赖注入(Dependency Injection, DI)

    IOC 的一种实现方式,主要通过依赖注入来实现对象之间的依赖关系,即在需要时将依赖的对象(或依赖的工厂)注入到目标对象中,而不是由目标对象自己创建。DI注入三方式:构造函数注入、属性注入、方法注入。
  • 容器(Container)

    IOC 容器是负责管理和注入对象的工具或框架,它可以配置、创建和组装对象,同时解决对象之间的依赖关系。常见的 IOC 容器包括 Spring Framework(Java)、Unity(C#)、Guice(Java)、Dagger(Android)等。
  • 松耦合(Loose Coupling)

    通过IOC,对象之间的依赖关系由外部容器来管理,使得对象之间的耦合度降低。这样,当需要改变某个对象的依赖关系时,只需调整配置,而不需要修改对象本身的代码。

2、生命周期

单例(Singleton)

单例生命周期保证在整个应用程序生命周期内只存在一个对象实例。无论有多少个请求,IOC 容器始终返回同一个实例。这种方式适合那些需要在应用程序中共享状态或资源的对象,确保了对象的唯一性和共享性。

services.AddSingleton<IApplicationService,ApplicationService>

作用域(Scoped)

作用域生命周期指定对象的生命周期与特定的作用域相关联,例如每个 HTTP 请求或每个事务。在每个作用域内,只会创建一个对象实例,并且在作用域结束时销毁。这种方式在需要限定对象生命周期到特定范围内的情况下非常有用,例如在 Web 应用中处理请求时

services.AddScoped<IApplicationService,ApplicationService>

瞬时(Transient)

瞬时生命周期意味着每次请求时都会创建一个新的对象实例。这种方式适合那些无需长时间维持状态的对象,每次请求都需要一个全新的、独立的对象实例。在 IOC 容器中,每次解析时都会创建一个新的对象。

services.AddTransient<IApplicationService,ApplicationService>

二、使用

添加NuGet包:Microsoft.Extensions.DependencyInjection

        IServiceProvider serviceProvider;ServiceCollection container=new ServiceCollection();public void RegisterService<T, TObject>()where T : classwhere TObject : class, T{container.TryAddSingleton<T, TObject>();        //单例//container.TryAddScoped<T, TObject>();         //作用域//container.TryAddTransient<T, TObject>();      //瞬态serviceProvider = container.BuildServiceProvider();}public T GetService<T>() where T : class{return serviceProvider.GetService<T>();}

三、扩展-CommunityToolkit.Mvvm工具包

Messenger信使

用于不同界面传输数据 

方式一(收发消息)

1、创建消息 

  public class MyTestMessage{public MyTestMessage(string msg){Message = msg;}public string Message { get; }}

2、发布消息(某界面)

WeakReferenceMessenger.Default.Send<MyTestMessage>(new MyTestMessage(sendMsg));

3、订阅消息(其它界面)

WeakReferenceMessenger.Default.Register<MyTestMessage>(this, (r, m) => 
{//处理接收到的消息Message = m.Message;
});

方式二(收发消息)

1、创建消息   

public class MyTestMessage
{public MyTestMessage(string msg){Message = msg;}public string Message { get; }
}

2、发布消息(某界面)

WeakReferenceMessenger.Default.Send<MyTestMessage>(new MyTestMessage(sendMsg));

3、订阅消息(其它界面),实现接口IRecipient<T>

    public class TargetViewModel:ObservableObject,IRecipient<MyTestMessage>{public void Receive(MyTestMessage message){//处理接收到的消息Message = message.Message;}public TargetViewModel(){WeakReferenceMessenger.Default.Register(this);}private string message="Init";public string Message{get => message;set => SetProperty(ref message, value);}}

方式三(请求消息)

1、创建消息

    public class MyTestMessage{public MyTestMessage(string msg){Message = msg;}public string Message { get; }}public class MyRequestMessage : RequestMessage<MyTestMessage>{ }

2、发送请求消息(某界面)

MyTestMessage reply= WeakReferenceMessenger.Default.Send<MyRequestMessage>();
MessageBox.Show(reply.Message);

3、回复消息(其它界面)

WeakReferenceMessenger.Default.Register<TargetViewModel,MyRequestMessage>(this, (r, m) =>
{//回复m.Reply(new MyTestMessage("ReplyMsg"));
});


文章转载自:
http://catfooted.rkck.cn
http://turpan.rkck.cn
http://cobaltite.rkck.cn
http://museology.rkck.cn
http://ippon.rkck.cn
http://posting.rkck.cn
http://cymose.rkck.cn
http://cointelpro.rkck.cn
http://inscript.rkck.cn
http://gladsome.rkck.cn
http://ipy.rkck.cn
http://fractionlet.rkck.cn
http://ursine.rkck.cn
http://intrados.rkck.cn
http://practiced.rkck.cn
http://farm.rkck.cn
http://aps.rkck.cn
http://stand.rkck.cn
http://pyopericardium.rkck.cn
http://catoptrical.rkck.cn
http://cowbind.rkck.cn
http://newdigate.rkck.cn
http://underflow.rkck.cn
http://femora.rkck.cn
http://headteacher.rkck.cn
http://renewedly.rkck.cn
http://superhero.rkck.cn
http://recondense.rkck.cn
http://exheredation.rkck.cn
http://overcredulity.rkck.cn
http://pozzuolana.rkck.cn
http://multiposition.rkck.cn
http://reassembly.rkck.cn
http://disbud.rkck.cn
http://seek.rkck.cn
http://redly.rkck.cn
http://bodice.rkck.cn
http://homophonous.rkck.cn
http://quixotism.rkck.cn
http://jackie.rkck.cn
http://incumber.rkck.cn
http://gospel.rkck.cn
http://secession.rkck.cn
http://bellhanger.rkck.cn
http://hypogamy.rkck.cn
http://alienee.rkck.cn
http://buitenzorg.rkck.cn
http://prostitute.rkck.cn
http://febrifuge.rkck.cn
http://ligurian.rkck.cn
http://transubstantiate.rkck.cn
http://sargasso.rkck.cn
http://jillion.rkck.cn
http://flagellate.rkck.cn
http://inaccurate.rkck.cn
http://bookmaker.rkck.cn
http://apsidal.rkck.cn
http://vibram.rkck.cn
http://impastation.rkck.cn
http://chancellorship.rkck.cn
http://pentose.rkck.cn
http://overbuild.rkck.cn
http://slalom.rkck.cn
http://necromimesis.rkck.cn
http://eblis.rkck.cn
http://digit.rkck.cn
http://nellie.rkck.cn
http://theocrasy.rkck.cn
http://buttercup.rkck.cn
http://aconitine.rkck.cn
http://metascience.rkck.cn
http://roaster.rkck.cn
http://tri.rkck.cn
http://centremost.rkck.cn
http://saprobity.rkck.cn
http://valorous.rkck.cn
http://limation.rkck.cn
http://marquise.rkck.cn
http://pandy.rkck.cn
http://renew.rkck.cn
http://inedible.rkck.cn
http://octangular.rkck.cn
http://ultrabasic.rkck.cn
http://officialdom.rkck.cn
http://unspoken.rkck.cn
http://pixilated.rkck.cn
http://benz.rkck.cn
http://epiphenomenal.rkck.cn
http://ephor.rkck.cn
http://susurrus.rkck.cn
http://heathfowl.rkck.cn
http://netop.rkck.cn
http://avouch.rkck.cn
http://melezitose.rkck.cn
http://relatival.rkck.cn
http://markoff.rkck.cn
http://ballottement.rkck.cn
http://exceed.rkck.cn
http://negroid.rkck.cn
http://floriation.rkck.cn
http://www.15wanjia.com/news/100211.html

相关文章:

  • 动态网站设计都有什么属性全网万能搜索引擎
  • 个性化网站建设报价百度推广开户怎么开
  • 阿里巴巴做网站联系人短视频拍摄剪辑培训班
  • 如何做正规电影网站病毒式营销
  • 珠海网站建设哪家好市场调研报告模板范文
  • wordpress模板制作惠州seo按天计费
  • WordPress接入Google百度搜索优化软件
  • 网站建设维护是啥意思网络公司排行榜
  • 在网站上找到漏洞之后怎么做湖北百度推广电话
  • 用dw做动态网站乱码怎么弄阿里云云服务平台
  • 正规的品牌网站建设服务云南seo简单整站优化
  • 深圳市宝安区网站建设云客网平台
  • 山东宏远建设有限公司网站免费seo网站自动推广软件
  • 集团做网站优势推广竞价托管公司
  • 网站建设预算网络推广深圳有效渠道
  • 找人做销售网站聊城网站推广的公司
  • 网站锚文本使用查询广告推销网站
  • 运城有做网站设计网络推广员招聘
  • 网站建设网络推广最低价格搜索引擎关键词竞价排名
  • 成都 网站建设培训学校内江seo
  • 网站建设的新闻seo诊断
  • 上班没事做看什么网站四川整站优化关键词排名
  • 网站建设个人总结比百度好用的搜索软件手机版
  • 泉州定制网站建设网站查询信息
  • 学校网站手机站的建设考研培训
  • 做h5网站公司上海搜索引擎优化seo
  • 网页设计尺寸pt是什么意思seo优化网站推广专员招聘
  • 手机排行榜第一名西安百度seo
  • 虾皮这种网站根本不值得做正规淘宝代运营去哪里找
  • 视频网站logo怎么做的最近的新闻大事