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

网站建设问题及解决办法选服务好的网站建设

网站建设问题及解决办法,选服务好的网站建设,高校网站建设目的,伊宁网站建设推广平台目录 一、了解IOC 1、概念 2、生命周期 二、使用 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 方式一#xff08;收发消息#xff09; 方式二#xff08;收发消息#xff09; 方式三#xff08;请求消息#xff09; 一、了解IOC IOC#xff0c;即控制…目录 一、了解IOC 1、概念 2、生命周期 二、使用 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 方式一收发消息 方式二收发消息 方式三请求消息 一、了解IOC IOC即控制反转Inversion of Control它通过将对象的创建和管理责任从应用程序代码中转移到外部容器或框架中实现了对象之间的松耦合和依赖性反转。 1、概念 依赖注入Dependency Injection, DI IOC 的一种实现方式主要通过依赖注入来实现对象之间的依赖关系即在需要时将依赖的对象或依赖的工厂注入到目标对象中而不是由目标对象自己创建。DI注入三方式构造函数注入、属性注入、方法注入。 容器Container IOC 容器是负责管理和注入对象的工具或框架它可以配置、创建和组装对象同时解决对象之间的依赖关系。常见的 IOC 容器包括 Spring FrameworkJava、UnityC#、GuiceJava、DaggerAndroid等。 松耦合Loose Coupling 通过IOC对象之间的依赖关系由外部容器来管理使得对象之间的耦合度降低。这样当需要改变某个对象的依赖关系时只需调整配置而不需要修改对象本身的代码。 2、生命周期 单例Singleton 单例生命周期保证在整个应用程序生命周期内只存在一个对象实例。无论有多少个请求IOC 容器始终返回同一个实例。这种方式适合那些需要在应用程序中共享状态或资源的对象确保了对象的唯一性和共享性。 services.AddSingletonIApplicationService,ApplicationService 作用域Scoped 作用域生命周期指定对象的生命周期与特定的作用域相关联例如每个 HTTP 请求或每个事务。在每个作用域内只会创建一个对象实例并且在作用域结束时销毁。这种方式在需要限定对象生命周期到特定范围内的情况下非常有用例如在 Web 应用中处理请求时 services.AddScopedIApplicationService,ApplicationService 瞬时Transient 瞬时生命周期意味着每次请求时都会创建一个新的对象实例。这种方式适合那些无需长时间维持状态的对象每次请求都需要一个全新的、独立的对象实例。在 IOC 容器中每次解析时都会创建一个新的对象。 services.AddTransientIApplicationService,ApplicationService 二、使用 添加NuGet包Microsoft.Extensions.DependencyInjection IServiceProvider serviceProvider;ServiceCollection containernew ServiceCollection();public void RegisterServiceT, TObject()where T : classwhere TObject : class, T{container.TryAddSingletonT, TObject(); //单例//container.TryAddScopedT, TObject(); //作用域//container.TryAddTransientT, TObject(); //瞬态serviceProvider container.BuildServiceProvider();}public T GetServiceT() where T : class{return serviceProvider.GetServiceT();} 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 用于不同界面传输数据  方式一收发消息 1、创建消息  public class MyTestMessage{public MyTestMessage(string msg){Message msg;}public string Message { get; }} 2、发布消息某界面 WeakReferenceMessenger.Default.SendMyTestMessage(new MyTestMessage(sendMsg)); 3、订阅消息其它界面 WeakReferenceMessenger.Default.RegisterMyTestMessage(this, (r, m)   {//处理接收到的消息Message m.Message; }); 方式二收发消息 1、创建消息    public class MyTestMessage {public MyTestMessage(string msg){Message msg;}public string Message { get; } } 2、发布消息某界面 WeakReferenceMessenger.Default.SendMyTestMessage(new MyTestMessage(sendMsg)); 3、订阅消息其它界面实现接口IRecipientT public class TargetViewModel:ObservableObject,IRecipientMyTestMessage{public void Receive(MyTestMessage message){//处理接收到的消息Message message.Message;}public TargetViewModel(){WeakReferenceMessenger.Default.Register(this);}private string messageInit;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 : RequestMessageMyTestMessage{ } 2、发送请求消息某界面 MyTestMessage reply WeakReferenceMessenger.Default.SendMyRequestMessage(); MessageBox.Show(reply.Message); 3、回复消息其它界面 WeakReferenceMessenger.Default.RegisterTargetViewModel,MyRequestMessage(this, (r, m) {//回复m.Reply(new MyTestMessage(ReplyMsg)); });
http://www.hkea.cn/news/14276888/

相关文章:

  • 西安免费网站建站模板校园局域网设计方案
  • 哪个医学网站大夫可以做离线题推荐10个网站
  • 苏州建设网站wordpress iis6 伪静态
  • 网站建设问卷调研郑州搜索引擎优化
  • 企业网站建江津哪个网站可以做顺风车
  • 天津网站维护坑梓网站建设基本流程
  • 电商网站开发的主流技术wordpress post存储
  • 比较好的源码网站wordpress主题修改菜鸟教程
  • 房产公司网站建设wordpress修改主题头部
  • 宜昌网站改版网站建设投放广告
  • 佛山市官网网站建设怎么样昆山网站建设书生商友
  • 中江建设银行网站企业网站备案流几天
  • 上海网站建设找摩彼做网站的的价位
  • 简单企业网站建设免费云主机试用一年
  • 购买手机网站推荐网站建设简单流程
  • 青岛高端网站设计公司wordpress 相同文章
  • 淘宝网站开发框架越秀网站建设方案
  • 福建网站建设网wordpress导航单页
  • 做个简单的网站多少钱企业网站建立的目的
  • 培训网站建设报价单网站app简单做
  • 专做母婴的网站长安网站建设网络推广
  • 与企业网站做接口做业务有哪些好的网站
  • 做网站网站犯法吗网站推广与优化哪里好
  • 购物网站建设基本流程树状图游戏推广怎么快速拉人
  • 网站没有索引量是什么意思网站后台不显示验证码
  • 国外设计灵感网站网站服务器类型查询
  • 网站建设费能算作广告费用吗frontpg做网站好吗
  • 北京网站建设招标苏州网站定制公司哪家好
  • 常德网站建设网站优化鹤壁网站制作
  • 做网站哪些网络公司好东莞常平做网站公司