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

苏州网站维护云梦县城乡建设局网站

苏州网站维护,云梦县城乡建设局网站,做网站比较好的软件,网站建设与管理答案在本文中#xff0c;我将解释命令模式#xff0c;以及如何利用基于命令模式的第三方库来实现它们#xff0c;以及如何在ASP.NET Core中使用它来解决我们的问题并使代码简洁。因此#xff0c;我们将通过下面的主题来进行相关的讲解。什么是命令模式?命令模式的简单实例以及… 在本文中我将解释命令模式以及如何利用基于命令模式的第三方库来实现它们以及如何在ASP.NET Core中使用它来解决我们的问题并使代码简洁。因此我们将通过下面的主题来进行相关的讲解。什么是命令模式?命令模式的简单实例以及中介者模式的简单描述MVC中的瘦控制器是什么?我们是如何实现使控制器变瘦的我们如何在我们的.NET Core应用程序中使用MediatR使用命令和事件的实例命令模式及其简单实例从根本上讲命令模式是一种数据驱动的设计模式属于行为模式的范畴。命令是我们可以执行的某种操作或行为它可以是活动的一部分。一个活动可以有一个或多个命令和实现。我们可以这样来说请求以命令的形式包裹在对象中并传给调用对象。调用者代理对象查找可以处理该命令的合适的对象并把该命令传给相应的对象该对象执行命令 。一个简单的例子是多种类型的消息。Message类包含SendEmail和SendSms等属性和方法。使用两种类型的命令并且需要一个接口它应该由实现了EmailMessageCommand和SMSMessageCommand的类类继承。还使用代理类来调用特定类型的消息类来处理操作。Main class消息类接口和代理类命令输出什么是瘦控制器我们为什么需要它什么是MediatR当我们开始使用MVC框架进行开发时逻辑是用控制器的动作方法编写的就像我们有一个简单的电子商务应用程序其中用户应该会下订单。我们有一个控制器OrderController用来管理订单。当用户下订单时我们应该在数据库中保存记录。在此之前我们有一个简化的代码。然而经过一段时间后我们意识到还有一个确认电子邮件的业务需求。现在第二步是发送确认电子邮件给客户。后来我们意识到在这个步骤之后我们还需要执行另一个操作即记录信息等。最后我们还需要将用户的信息保存到CRM中。关键是它会增长控制器的大小。现在我们可以称之为“臃肿控制器”。基于命令的体系结构允许我们发送命令来执行某些操作并且我们有单独的命令处理程序使关注点分离和提高单一职责。为了实现这个架构我们可以使用第三方库比如MediatRMediator.它为我们做了很多基础工作。中介模式定义了一个对象该对象封装了一组对象是如何交互的。中介模式的优势及MediatR如何帮助我们实现中介模式中介模式定义了一个对象该对象封装了一组对象是如何交互的如维基百科定义的。它通过保持对象彼此明确地相互引用来促进松散耦合。它通过允许通信被卸载到一个只处理这类的类来促进单一责任原则。MediatR库如何帮助我们MediatR允许我们通过让控制器Action向处理程序发送请求消息来将控制器与业务逻辑解耦。MediatR库支持两种类型的操作。命令预期输出结果事件请求者不关心接下来发生了什么不期待结果我们已经介绍了命令模式因此是时候定义一些命令并使用MediatR发出命令了。在ASP.NET Core中安装我们需要从NuGet安装MediatR和MediatR.Extensions.Microsoft.DependencyInjection包。当这两个软件包安装完毕后我们需要添加services.AddMediatR(); 到startup.cs文件。看起来像这样。现在我们可以使用.NET Core 项目中的MediatR了。实例第一个示例演示了使用MediatR使用请求/响应类型的操作。它期望对请求做出一些反应。第二个示例将向您展示一个事件其中多个处理程序执行它们的工作调用者并不关心接下来会发生什么也不期望任何结果/响应。第一个例子在这种场景下我们希望注册用户并期望对请求做出一些响应。如果响应返回true我们可以像登录用户一样进行进一步的操作。首先我们需要创建一个继承自IRequest的类。现在我们有了命令和它的处理程序我们可以调用MediatR在我们的控制器中做一些操作。这些是Home控制器的动作方法。第一个例子的结论注册操作方法使用了[HttpPost]属性进行修饰并接受新的用户注册请求。然后它请求MediatR 进行处理。它期望来自请求的结果/响应如果结果是真的则将用户重定向到登录页面。这里我们有简洁的代码大部分的工作是在控制器外部完成的。这实现了对不同操作的处理的关注点分离SoC和单一责任的分离。在第二个示例中我们将演示使用多个处理程序对命令执行不同操作的场景。第二个实例在这种情况下我们使NewUser 继承了INotificationpublic class NewUser : INotification  {  public string Username { get; set; }  public string Password { get; set; }   }  现在有三个处理程序逐个执行以完成他们的工作。这些都是从INotificationHandler继承下来的。第二个处理程序在下面的代码中定义。然后我们控制器中的代码像下面这样二个例子的结论此应用程序的输出如下当用户注册后三个处理程序逐个执行——分别是NewUserHandler、EmailHandler和LogHandler并执行它们的操作。这里我们使用了Publish 方法而不是Send 函数。发布将调用订阅了NewUser 类的所有处理程序。这只是一个示例我们可以根据命令进行思考然后按照我们在命令模式中讨论的方式相应地执行一些操作。Mediatr是如何提供帮助的它可以用来隐藏实现的细节用来使控制器代码更加干净和可维护可以重用多个处理程序并且每个处理程序都有自己的责任因此易于管理和维护。在我的下一篇文章中我将尝试解释CQRS架构模式及其优点以及如何使用MediatR来实现CQRS。原文地址https://www.c-sharpcorner.com/article/command-mediator-pattern-in-asp-net-core-using-mediatr2/相关文章MEDIATR 一个低调的中介者类库【翻译】asp.net core中使用MediatR原文地址https://www.cnblogs.com/yilezhu/p/9866068.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/215357/

相关文章:

  • 分类信息导航网站模板建设银行网站每天几点更新
  • 百度竞价排名规则及费用seo怎么做整站排名
  • 网站免费模板资源商标设计一般多少钱
  • 视频微网站开发谷歌怎么做网站推广
  • 微信公众号服务号网站开发流程网站推广网络
  • 徐州网站建设技术wordpress 分辨 模版
  • 慈溪企业网站建设公司wordpress网盘搜索引擎源码
  • 建筑类企业网站模板怎么制作网站链接
  • 常州网站建设外包襄阳做网站的
  • 临清网站优化用jsp做网站的感想
  • 个人工作室网站网站备案 万网
  • 网络推广模板网站会员管理软件
  • 西乡塘网站建设网站建设公司的成本有哪些方面
  • 在哪里可以学习做网站西安制作公司网站的公司
  • 网站建设 更新 维护淮北矿业工程建设公司网站
  • 网站开发 平台宝应做网站
  • 网站开发开题报告广州的兼职网站建设
  • 辽宁同鑫建设网站网站后期维护费用
  • 政法网站建设有哪些不足广州网站建设信息科技有限公司
  • 营销型网站 平台海口智能建站价格
  • 网站空间过期电商网站建设比较好的
  • seo公司 彼亿营销舆情优化公司
  • diango是做网站的后端吗网页怎么做成app
  • 思勤传媒网站建设公司如何查询网站的外链
  • 网站设计思路文案范文专业手机网站建设多少钱
  • 有部分网站打不开网站服务内容怎么写
  • 百度安全网站检测好看的免费的小说网站模板
  • 锡山区住房和城乡建设局网站免费ppt模板下载简约
  • 建设银行 杭州招聘网站建设工程有限公司是干什么的
  • 做网站必须购买空间吗?3点新闻发布