网站推广方法汇总苏州沧浪做网站哪家好

news/2025/9/23 10:51:37/文章来源:
网站推广方法汇总,苏州沧浪做网站哪家好,做网站有什么框架,策划网站有哪些作者#xff1a;依乐祝原文地址#xff1a;https://www.cnblogs.com/yilezhu/p/9866068.html在本文中#xff0c;我将解释命令模式#xff0c;以及如何利用基于命令模式的第三方库来实现它们#xff0c;以及如何在ASP.NET Core中使用它来解决我们的问题并使代码简洁。因此… 作者依乐祝原文地址https://www.cnblogs.com/yilezhu/p/9866068.html在本文中我将解释命令模式以及如何利用基于命令模式的第三方库来实现它们以及如何在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的类。IRequest是指请求的响应是布尔响应。现在需要一个处理程序来处理这种类型的请求。现在我们有了命令和它的处理程序我们可以调用MediatR在我们的控制器中做一些操作。这些是Home控制器的动作方法。第一个例子的结论注册操作方法使用了[HttpPost]属性进行修饰并接受新的用户注册请求。然后它请求MediatR 进行处理。它期望来自请求的结果/响应如果结果是真的则将用户重定向到登录页面。这里我们有简洁的代码大部分的工作是在控制器外部完成的。这实现了对不同操作的处理的关注点分离SoC和单一责任的分离。在第二个示例中我们将演示使用多个处理程序对命令执行不同操作的场景。第二个实例在这种情况下我们使NewUser 继承了INotification现在有三个处理程序逐个执行以完成他们的工作。这些都是从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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发项目实战视频建一个网站的技术解决方案

10月18日云栖大会开放日上,阿里云基于新一代无影架构的两款一体机已对观众展出。两款新品分为23.8寸标准版和27寸Pro版,Pro版为手绘场景配有触控屏和触控笔,官方介绍为首款设计师云电脑。 在云栖大会展区,观众已经可以对一体机进…

设计一个网站多少钱网站设计网上培训学校

来源:扬子晚报一般来说科学本是最讲求真实性的,但近些年来所谓轰动一时的科学“成果”中,却颇多假冒伪劣产品。1、百慕大“死亡三角”在众多科学骗局中,“百慕大”传说是影响最大且流传最广的一例,但它的起因只是第二次…

宁波网站搭建wordpress图片加框架

搜集日志;日志处理器;索引平台;提供视图化界面;客户端登录 日志收集者:负责监控微服务的日志,并记录 日志存储者:接收日志,写入 日志harbor:负责去连接多个日志收集者&am…

网站收录怎么做黄南州wap网站建设公司

完全禁用Microsoft Compatibility Telemetry Win S 中搜索 任务计划程序 /Microsoft/Windows/Application Experience 禁用 Microsoft Compatibility Appraiser 如果不管用 服务里禁用 Diagnostic Policy Service

一个虚拟主机可以做两个网站吧传奇网页游戏排行

单表优化最佳左前缀原则为,保持索引的定义和使用顺序的一致性将含In的范围查询,放到where条件语句的最后。索引需要逐步优化两表优化小表驱动大表避免索引失效的一些原则:复合索引,不要跨列或无序使用(最佳左前缀&…

高并发系统核心指标

- 并发数(Throughput):同时在线的用户数量,这些用户可能正在等待响应,也可能正在发送请求。表示在任何给定的时间点,服务器正在处理的请求数量。这并不一定等于服务器实际完成的请求数量,因为在高并发下,服务器…

计算机毕业设计-在线书城管理系统-计算机毕设辅导-源码-文档-全套资料 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

工程化知识管理新范式:DevOps驱动下的智能文档体系建设实践

工程化知识管理新范式:DevOps驱动下的智能文档体系建设实践 在数字化转型浪潮中,知识管理系统正从静态档案库向智能协作平台跃迁。某科技企业通过DevOps决策路径模型构建的新型知识管理体系,实现了研发文档与工程流…

淘宝客个人网站怎么做大网站建设

青岛某企业致力于孵化设备、养禽设备和养猪设备的研发、生产和服务,历经三十多年发展,目前已成长为行业主要的养殖装备及工程服务提供商,产品覆盖养殖产业链中绝大多数环节,涉及自动化设备、环控设备、整体解决方案等。 在实际应用…

从零开始学Flink:数据转换的艺术

本文介绍了Flink数据转换的核心操作,包括基本转换(Map、Filter、FlatMap)和键控转换(KeyBy、Reduce、Aggregate)。基于Kafka数据源环境,演示了如何使用Flink DataStream API实现数据流处理流程,涵盖字符串处理、…

java创建线程池去实现某个任务(多线程)

java创建线程池去实现某个任务(多线程)1.ThreadPoolExecutor创建线程池的完整Java示例代码,包含核心参数配置和基本使用方法: ThreadPoolExecutor threadPool = new ThreadPoolExecutor( corePoolSize, //核心线程…

网站平台建设规划如何进行网络营销方式

首先要理解什么是动态语言:通俗地说:能够在运行时修改自身程序结构的语言,就属于动态语言。那怎样才算是“运行时修改自身程序结构”呢?比如下面这几个例子都算:在运行时给某个类增加成员函数及成员变量;在…

国网公司网站自己可以建设一个网站要钱

常见指令以及权限理解 一.补充知识 为方便初学者更好的理解Linux系统,这部分将对比windows系统补充一部分必要知识1 2 3 4 5 6 二.补充指令 1. 重新认识指令: 指令本质都是程序 —指令、程序、可执行程序都是一回事(都是文件内容属性)指令就是程序 … 安装和卸载是在把可…

珠海手机网站建设费用泉州网站建设公司首选公司哪家好

QT项目打包成可执行文件 一 建立一个文件夹二. 编译2.1 打开QT MSVC编译工具2.2 进入publish文件夹 一 建立一个文件夹 例如:publish 二. 编译 2.1 打开QT MSVC编译工具 2.2 进入publish文件夹 cd 路径 执行命令 windeployqt 项目名 例:windeployq…

网站建设提供资料管网建设

AveMaria 是一种最早在 2018 年 12 月出现的窃密木马,攻击者越来越喜欢使用其进行攻击,运营方也一直在持续更新和升级。在过去六个月中,研究人员观察到 AveMaria 的传播手段发生了许多变化。 2022 年 12 月攻击行动 研究人员发现了名为 .Vh…

怎么自己做彩票网站吗wordpress 导航 插件

1.java的三大结构 可以说java的这三大结构包括其中的语句跟c语言上的基本上都是一样的。现在就当重新复习一遍吧! 1.顺序结构 2.分支结构 if语句 跟c语言的语法一模一样。就直接看文案了。 switch语句 java中的switch语句跟c语言中的switch几乎相同,…

粮食门户网站建设方案wordpress主题受损

1. 简介 宏定义(#define)是C语言预处理指令的一种,用于为程序中的值或代码片段创建别名。宏定义可以使代码更加简洁、易于维护,并且可以提高代码重用性。 2. 基本用法 定义常量 宏可以用来定义常量,代替硬编码的数字或字符串,…

20250827_黔西南网信杯_丢失的数据

流量分析, 应急响应, Webshell, shiro, rememberMeTags:流量分析,应急响应,Webshell,shiro,rememberMe 0x00. 题目 境外黑客组织针对境内某家企业公网暴露的资产,利用web漏洞成功渗透其便捷服务器,进而非法获取了服务…

网站首页图片分辨率室内装修设计用什么软件制图

计算机网络01-20 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用1、OSI 的七层模型分别是?各自的功能是什么?2、说一下一次完整的HTTP请求过程包括哪些内容?孤单小弟 —— HTTP真实地址查询 —— DNS指南好帮手 —— 协议栈可…

敏捷已死?2025年项目管理软件支持的混合管理模式正成为新主流!

随着项目管理环境的快速变化,传统的敏捷方法在应对复杂需求时逐渐显现出局限性。2025年,项目管理软件支持的混合管理模式正成为企业提升效率的新选择。本文将深入分析敏捷方法的不足,阐述混合模式如何结合敏捷与传统…