第IV部分有效应用程序的设计模式

第IV部分有效应用程序的设计模式

  • 第IV部分有效应用程序的设计模式
    • 第23章:应用程序用户界面的架构设计
      • 23.1设计考量
      • 23.2示例1:用于非分布式有界上下文的一个基于HTMLAF的、服务器端的UI
      • 23.3示例2:用于分布式有界上下文的一个基于数据API的客户端UI
      • 23.4要点
    • 第24章:CQRS:一种有界上下文的架构
      • 24.1为两个上下文维护单个模型的挑战
      • 24.2用于复杂有界上下文的一种更好的架构
      • 24.3 命令端:业务任务
      • 24.4查询端:领域报告
      • 24.5 对CQRS的误解
      • 24.6可以扩展应用程序的模式
      • 24.7要点
    • 第25章:命令:用于处理业务用例的应用程序服务模式
      • 25.1区分应用程序逻辑和领域逻辑
      • 25.2应用程序服务模式
      • 25.3测试应用程序服务
      • 25.4要点
    • 第26章:查询:领域报告
      • 26.1有界上下文中的领域报告
      • 26.2跨有界上下文的领域报告
      • 26.3要点

第IV部分有效应用程序的设计模式

第23章:应用程序用户界面的架构设计

23.1设计考量

23.1.1 占有式UI与构成式UI的对比

  • 自治性
    在这里插入图片描述

  • 授权性
    在这里插入图片描述

23.1.2 HTML API与数据API的对比
23.1.3客户端与服务器端聚合/协作对比

在这里插入图片描述

23.2示例1:用于非分布式有界上下文的一个基于HTMLAF的、服务器端的UI

23.3示例2:用于分布式有界上下文的一个基于数据API的客户端UI

23.4要点

  • 后端有界上下文的结构将极大影响用户界面,反之亦然。
  • 决定哪个团队占有一个UI将显著影响该团队的活力以及工程解决方案。
  • 可以在客户端上用JavaScript或者在服务器端使用你喜欢的技术从多个有界上下文中提取数据。
  • 客户端构成可以降低复杂性以及一个额外服务器端组件的耦合。
  • 服务器端聚合和编排免除了对JavaScript的依赖以及在浏览器中运行的性能约束。
  • UI可以由HTML构成,或者它们可以从每个有界上下文中以JSON或XML格式提取数据。
  • 使用HTML的构成为每个有界上下文提供了更多的控制,但分散了展现的关注点。
  • 数据的聚合会将展现关注点隔离到单个Web应用程序,但从每个有界上下文中移除了展现关注点的占有关系。

第24章:CQRS:一种有界上下文的架构

CQRS(命令查询职责分离)是一种简单模式,可以将其应用到有界上下文。它会将领域
模型分离成两个模型:读取模型和写入模型(有时也称为事务模型)。

24.1为两个上下文维护单个模型的挑战

在这里插入图片描述

24.2用于复杂有界上下文的一种更好的架构

在这里插入图片描述

24.3 命令端:业务任务

在这里插入图片描述

24.3.1显式建模意图
24.3.2不受展现干扰所影响的模型
24.3.3处理业务请求

24.4查询端:领域报告<

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

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

相关文章

学习笔记十四——一文看懂 Rust 迭代器

&#x1f300; 一文看懂 Rust 迭代器 &#x1f4da; 目录导航 什么是迭代器&#xff1f;为什么 Rust 到处都在用它&#xff1f;Rust 迭代器的底层逻辑是什么&#xff1f;适配器 vs 消费者&#xff1a;谁是主角&#xff1f;常见适配器&#xff1a;加工数据的全能工厂常见消费者…

QR轻量二维码生成系统PHP源码

源码介绍 基于PHP编写的二维码在线生成系统。只需点击几下就可以生成您的个人二维码&#xff01;上传您的徽标&#xff0c;选择自定义颜色&#xff0c;生成多种类型。选择一个图案并下载最终的qrcode。可用格式&#xff1a;.png&#xff0c;.svg 效果预览 源码获取 QR轻量二…

基于Spring MVC的客户端真实IP获取方案解析

文章目录 基于Spring MVC的客户端真实IP获取方案解析概述核心方法解析代码实现工作流程 IP获取优先级策略IP有效性验证异常处理与日志使用场景注意事项扩展建议 基于Spring MVC的客户端真实IP获取方案解析 概述 在Web应用开发中&#xff0c;准确获取客户端真实IP地址是常见的…

Idea集成AI:CodeGeeX开发

当入职新公司&#xff0c;或者调到新项目组进行开发时&#xff0c;需要快速熟悉项目代码 而新的项目代码&#xff0c;可能有很多模块&#xff0c;很多的接口&#xff0c;很复杂的业务逻辑&#xff0c;更加有与之前自己的代码风格不一致的现有复杂代码 更别提很多人写代码不喜…

Python(18)Python中JSON的妙用:详解序列化与反序列化原理及实战案例

目录 一、背景&#xff1a;为什么Python需要JSON&#xff1f;二、核心技术解析&#xff1a;序列化与反序列化2.1 核心概念2.2 类型映射对照表 三、Python操作JSON的四大核心方法3.1 基础方法库3.2 方法详解1. json.dumps()2. json.loads()3. json.dump()4. json.load() 四、实战…

【物联网】基于LORA组网的远程环境监测系统设计

基于LORA组网的远程环境监测系统设计 演示视频: 简介: 1.本系统有一个主机,两个从机。 2.一主多从的LORA组网通信,主机和两个从机都配备了STM32F103单片机与 LoRa 模块,主机作为中心设备及WIFI网关,负责接收和发送数据到远程物联网平台和手机APP,两个从机则负责采集数…

通过金融科技(Fintech)掌控财务:智能理财管理指南

李升伟 编译 在当今世界&#xff0c;科技几乎重塑了我们生活的方方面面&#xff0c;包括金钱的管理方式。金融科技&#xff08;Fintech&#xff09;让个人财务管理变得前所未有的便捷、高效和智能。从追踪支出到投资理财、提升信用评分&#xff0c;金融科技工具赋予个人掌控财…

html-css样式

1. 所有类型为文本的 元素的样式 指定所有类型为文本的 元素的样式 /* 文本框的样式 */ input[type"text"] { font-size: 25px;width: 80px; /* 文本框的宽度 */ padding: 25px; } font-size&#xff1a;字体大小 width&#xff1a;文本框宽度 padding&#…

【C语言基础】C++ 中的 `vector` 及其 C 语言实现详解

一、C 中的 vector&#xff1a;动态数组的核心特性 1. 基本概念 vector 是 C 标准模板库&#xff08;STL&#xff09;中的动态数组容器&#xff0c;支持自动扩容、高效元素访问和丰富的操作接口。其核心特性包括&#xff1a; 动态内存管理&#xff1a;自动调整容量&#xff0…

nvm切换node版本后,解决npm找不到的问题

解决方法如下 命令行查看node版本 node -v找到node版本所对应的npm版本 点击进入node版本 npm对应版本下载 点击进入npm版本 下载Windows 压缩包 下载完成后&#xff0c;解压&#xff0c;文件改名为npm 复制到你nvm对应版本的node_modules 下面 将下载的npm /bin 目录…

数据结构:最小生成树的普里姆算法和克鲁斯卡尔算法

对于一个带权&#xff08;假设每条边上的权均为大于零的实数&#xff09;连通无向图 G 中的不同生成树&#xff0c;其每棵树的所有边上的权值之和也可能不同&#xff1b;图的所有生成树中具有边上的权值之和最小的树称为图的最小生成树&#xff08;Minimal Spanning Tree&#…

Information-Theoretic Limits of Bistatic Integrated Sensing and Communication

摘要 双静态感知指的是发射器&#xff08;照亮目标&#xff09;和感知接收器&#xff08;估计目标状态&#xff09;在物理上分离的场景&#xff0c;这与发射和感知功能共存的单静态感知形成对比。在实际场景中&#xff0c;双静态感知可能需要应对系统约束&#xff0c;或者作为…

XCTF-web(四)

unserialize3 需要反序列化一下&#xff1a;O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;} php_rce 题目提示rce漏洞&#xff0c;测试一下&#xff1a;?s/Index/\think\app/invokefunction&functioncall_user_func_array&vars[0]phpinfo&vars[1][]1 flag&#xff1…

Java Stream深度解析 高阶技巧与性能优化实战

文章目录 一、Stream底层机制揭秘1.1 Stream流水线架构1.2 Spliterator探秘 二、自定义收集器高级实现2.1 实现高性能统计收集器2.2 多级分组优化技巧 三、并行流深度优化3.1 并行度控制策略3.2 工作窃取(Work-Stealing)优化 四、无限流与短路操作4.1 生成无限质数流4.2 短路操…

TailwindCss快速上手

什么是Tailwind Css? 一个实用优先的 CSS 框架&#xff0c;可以直接在标记中组合以构建任何设计。 开始使用Tailwind Css 如何安装 下面是使用vite构建工具的方法 ①安装 Tailwind CSS: tailwindcss通过tailwindcss/vitenpm安装。 npm install tailwindcss tailwindcss…

Web前端 (CSS篇)

什么是CSS&#xff1f; css(Cascading Style Sheets)是层叠样式表或级联样式表&#xff0c;是一组设置规则&#xff0c;用于控制web页面外观。 为什么使用CSS? CSS 用于定义网页的样式&#xff0c;包括针对不同设备和屏幕尺寸的设计和布局。 CSS 实例 body {background-col…

微服务2--服务治理与服务调用

前言 &#xff1a;本文主要阐述微服务架构中的服务治理&#xff0c;以及Nacos环境搭建、服务注册、服务调用&#xff0c;负载均衡以及Feign实现服务调用。 服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。 服务注册&#xff1a;在…

智能麻将出牌组件

开篇引言​ 麻将作为一款风靡全球的策略性游戏&#xff0c;其复杂的规则和多变的牌局给玩家带来了无尽乐趣。在数字化时代&#xff0c;运用编程技术为麻将游戏赋予智能&#xff0c;实现自动出牌功能&#xff0c;不仅能提升玩家体验&#xff0c;还能深入探索算法在博弈游戏中的…

“大湾区珠宝艺境花园”璀璨绽放第五届消博会

2025年4月13日&#xff0c;第五届中国国际消费品博览会&#xff08;以下简称"消博会"&#xff09;重要主题活动——《大湾区珠宝艺境花园》启动仪式在海南国际会展中心2号馆隆重举行。由广东省金银珠宝玉器业厂商会组织带领粤港澳大湾区优秀珠宝品牌&#xff0c;以“…

基于前端技术的QR码API开发实战:从原理到部署

前言 QR码&#xff08;Quick Response Code&#xff09;是一种二维码&#xff0c;于1994年开发。它能快速存储和识别数据&#xff0c;包含黑白方块图案&#xff0c;常用于扫描获取信息。QR码具有高容错性和快速读取的优点&#xff0c;广泛应用于广告、支付、物流等领域。通过扫…