Domain Model:Business Request的虚实之道与Business Action的设计模式

.NET分层架构设计:四层结构与文件夹命名规范 分层架构是软件系统解耦与可维护性的基础设计范式,其核心在于通过清晰的责任边界划分,实现业务逻辑、数据访问、用户交互与基础设施的隔离。在.NET生态中,经典的四层结构(Presentation/ Application/ Domain/ Infrastructure)并非教条式模板,而是围绕领域驱动设计(DDD)原则演化出的工程实践契约——它规定了数据流向、异常处理权责、测试可插拔性及部署弹性。合理的文件夹结构实为权限地图与协作协议,直接影响新人上手效率、重构安全性和CI/CD稳定性。本文结合真实项目中的‘最 阅读详情

Domain Model:Business Request的虚实之道与Business Action的设计模式     
     
Author:Anders小明
同步自:http://www.blogjava.net/AndersLin/archive/2006/09/19/70643.html
 
     在《Domain Object:基于业务行为的分析》一文中,我提出在high level的角度看,业务流程由三个模型构成:Business Request,Business Process以及Business Action。实际设计时,Business Request和Business Action将进步的细化。 
  
      Business Request的虚实之道 
      Business Request的概念,与http request是不同的。为避免误解,特意加上Business一词修饰。 
      所谓虚实是指是否将Business Request概念实例化。不做实例化的理由时处理简单;实例化则有助于处理Business Transaction以及账目模式。
一个业务上的Business Request可能包括多个Request Form,与核心业务对象对应,例如:在线订单,就包括了购买物品及其数量和折扣,支付协议和发货协议等。 
      对于没有实例化Business Request的情况下,在实际业务操作时,对每一个form的操作都需要一个物理的transaction来支持。 
      这样做的问题是,由于没有记录Business Request,直接操作业务对象,在做业务日志时只能记录操作前以及操作后的信息(既“减肥前,减肥后”);同时cross多个transaction,要支持查询到一次Business Request所有操作的信息,需要新建一个log index或者类似的手段,在业务开始时获取注册一个index,所有log操作中引用这个index,在业务结束后close该index。虽然如此,也带来的是业务上做undo以及redo操作的不便。 
      但是如果实例化Business Request,就很容易处理这两样操作。建立一个Business Request,同时记录所涉及的Request Form。这样做的好处是:可以很容易的记录一些额外的信息;同时可以很容易的支持approve操作(既俗说的“管帐的不管钱,管钱的不管帐”)。不过目前大部分的系统都没有处理Business Request实例化,不是所有的业务操作需要Approve,另外实例化的麻烦是Request Form会和Domain Object看起来一样,已经处理了一个log对象,再处理一个request对象总是让人多少心里有点不爽;而页面处理需要抽取出变化的properties。   

    Business Action的设计模式
    简单的说,Business Action将被细化成action controller和concrete action。在这级别,action对于request的响应处理已知的有三种Pattern:
    Observer Pattern, Chain of responsibility Pattern以及Pipes and Filters Pattern,下面讨论一下三者的区别:


name

Dispatch Mode

Actions Relation

Controller

Observer Pattern

request和action是one2many
multicast deliver

各个action独立工作
share the same input

Action register to Controller,Controller visit Action

Chain of Responsibility

request和action是one2one
chained deliver

各个action独立工作

controller poll actions

Pipes and Filters

request和action是one2many
Piped deliver

各个action合作工作
share the same work data

controller iterate actions
    这三个pattern处理的各自不同的scenario.
    其中Pipes and Filters的alias是Data Flow Pattern,很适合需要处理大量数据的情况。
.NET项目分层架构实战:文件夹结构如何决定系统命运 分层架构是软件工程中控制变化传播、提升可维护性的核心手段,其本质在于通过物理隔离与抽象契约实现关注点分离。在.NET生态中,项目结构设计直接映射依赖方向、编译性能与团队协作效率——它不是命名习惯,而是对‘单一职责’和‘依赖倒置’原则的工程化落地。合理的分层能显著降低业务变更引发的连锁编译、调试阻塞与重构风险,广泛应用于Web API、微服务及企业级单体系统。本文聚焦.NET 6+主流实践,深入剖析Domain Core纯净性、Application协调职责与Infrastructure实现解耦等关键设计决策 阅读详情

相关推荐

LangGraph多智能体演进三阶:Network→Supervisor→分层模型

Multi-Agent Systems(多智能体系统)是构建可扩展AI应用的核心范式,其本质是通过结构化协作实现复杂任务分解与治理。LangGraph为此提供了从松耦合网络(Network)到状态可控的协调中枢(Supervisor),再到业务域自治的分层架构(Hierarchical Model)的完整演进路径。该路径对应真实工程需求:Network解决基础连通性,Supervisor保障流程鲁棒性与可观测性,Hierarchical Model支撑长期可维护性与跨域隔离。它不仅适用于金融合规、智能投研等

weixin_30258901的博客 421

Business Domain & Domain Model & Domain Model Oriented Archtecture

光提“Domain”,不包含上下文,你会怎么理解?擅长业务分析的人,可能马上想到了 Business Domain ; 擅长业务建模的人,会以为你在指 Object Domain Model,包括Conceptual级别的和Run-Time级别的 ;擅长系统架构的人,会把>里面的Domain Model和围绕Domain Model的所有系统架构模式(比如很多经典的O/R Map模式)牵扯进来。我

Evan's Tech View 1525

2025生产级智能体四大设计模式:从ReAct到Reflexion的工程落地

智能体(Agent)作为大模型应用的核心范式,其本质是将LLM嵌入可控、可观测、可审计的工程化执行流程。理解Agentic Design Patterns,需回归基础:它并非抽象算法,而是任务分解、状态追踪与失败收敛三位一体的系统设计方法论。在SLA驱动的生产环境中,Tool-Calling保障确定性,ReAct引入结构化推理闭环,Plan-and-Execute实现多步依赖调度,Reflexion支撑长周期自我优化——这四大模式构成从单点工具调用到复杂业务决策的完整能力阶梯。本文聚焦真实压测数据、错误码规

weixin_30247781的博客 415

领域模型(Domain Model )

http://www.blogjava.net/AndersLin/archive/2006/06/15/53086.html小议领域模型(Domain Model)> 和>,令Domain 这个词很火,也引起了广泛争论。我这里也乱谈一把。什么是领域模型(Domain Model )   我以为Domain分两个含义:Domain Object和Domain Service。那

1643

MuleSoft构建企业级LLM网关:AI编排与治理实战

AI网关是企业将大语言模型(LLM)纳入生产环境的核心基础设施,其本质是通过API网关层实现对LLM调用的统一接入、安全管控、流量治理与可观测性保障。其技术原理涵盖请求拦截、上下文感知脱敏、动态模型路由、结构化输出校验及全链路审计日志等关键能力。该架构显著提升AI服务的可管理性、合规性与SLO稳定性,广泛应用于金融、医疗、制造等强监管行业的合同分析、智能风控、文档理解等场景。本文聚焦MuleSoft Anypoint Platform如何落地AI Orchestration与LLM Gateway两大核心实

weixin_34174322的博客 421

MuleSoft企业级AI编排:LLM能力治理与生产落地实战

API编排是企业集成的核心范式,而AI编排则是其在大语言模型时代的演进形态——它不替代模型训练,而是聚焦于模型调用的可治理性、可审计性与可运维性。其技术原理在于将LLM抽象为受控API资源,通过策略引擎实现身份认证、流量限流、上下文校验、敏感数据脱敏与全链路审计。这种以API为中心、策略为驱动、治理为底线的架构,显著提升AI能力在SOA/ESB环境中的复用率与合规性,广泛应用于智能合同审核、财务报告生成、客服知识增强等高价值场景。本文深入解析MuleSoft如何承载AI Orchestration这一关键角

weixin_34152820的博客 393

Business Request的虚实之道

Business Request的虚实之道 Business Request的概念,与http request是不同的。为避免误解,特意加上Business一词修饰。 所谓虚实是指是否将Business Request概念实例化。不做实例化的理由时处理简单;实例化则有助于处理Business Transaction以及账目模式。 一个业务上的Business R...

Anders小明的Blog 357

企业级AI编排:用MuleSoft实现LLM与ERP/CRM的安全可控集成

大语言模型(LLM)在企业落地的核心挑战,从来不是模型能力本身,而是如何与SAP、Salesforce、AS/400等遗留系统安全、稳定、可审计地协同工作。AI编排(AI Orchestration)作为连接认知层与业务系统的中枢能力,需解决协议异构、治理缺失、数据越界三大断点。MuleSoft凭借DataWeave数据转换、Anypoint网关治理、Secure Properties加密管控等企业级能力,将LLM调用转化为受控服务——支持JWT身份认证、Schema输出校验、Prompt版本化管理、RAG

389

什么是商业模式(Business Model)?

商业模式由四个密切相关的要素构成,这四个要素相互作用时能够创造价值并传递价值,目前来说最重要的是创造价值。 客户价值主张 客户价值主张(customer value proposition, CVP) 凡是成功的公司都能够找到某种为客户创造价值的方法,即帮助客户完成某项重要工作的方法。在此,“工作”的含义是指在特定情境下需要解决的一个根本性问题。只要了解了工作的含义以及工作的各个维度(包括...

weixin_34292287的博客 1414

Agent 运行时三要素:Session、Harness 与 Sandbox 架构解析

Agent 运行时(managed runtime)是支撑长周期、多步骤、强状态智能体稳定落地的核心基础设施。它不替代模型,而是通过抽象分层解决传统 LLM agent 的上下文爆炸、状态丢失、工具调用不安全与可观测性缺失等工程顽疾。其核心原理在于将 session 状态外置为结构化事件日志、用无状态 harness 解耦执行逻辑、以 cattle 式 sandbox 实现按需隔离与动态凭证管理。这种设计显著提升系统确定性、可审计性与故障恢复能力,已在客服、销售、运维等企业级场景规模化验证。本文深入剖析 A

Ferrerooo 成长 498

在 SAP RAP Fiori Elements 里用 Domain Fixed Values 做 Value Help

摘要:在RAP开发Fiori Elements应用时,状态字段等固定值推荐使用ABAP Domain的固定值范围(Domain Value Range)管理,而非单独建表。通过创建CDS View读取DD07L/DD07T表数据作为Value Help提供者,并在Projection View中通过@Consumption.valueHelpDefinition注解绑定,可实现轻量化的值帮助功能。这种方法避免了冗余配置表,同时确保字段取值约束和多语言支持,适合状态码等稳定的枚举型字段。 核心步骤: 在Dom

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 744

Context Engineering:重构大模型人机协作的结构化上下文工程方法论

上下文工程(Context Engineering)是面向大模型生产落地的核心工程范式,其本质是将模糊的任务指令转化为结构化、可验证、可迭代的语义契约。它突破传统Prompt Engineering依赖自然语言描述的局限,直面大模型attention机制的硬约束与长距离依赖衰减问题,通过角色边界定义、任务可证伪性声明、输入感官建模、输出机器契约等技术手段,系统性提升模型在金融风控、医疗问诊、工业文档解析等高敏场景下的推理稳定性与合规输出能力。本文聚焦Context Schema七大原子单元与Schema-F

areen7003的博客 427

让 Claude Code 和 ABAP 系统真正协作起来,Model Context Protocol Tools 在 ABAP 开发里的落地方式

ABAP开发工具链中引入Model Context Protocol(MCP)标志着AI辅助开发的重要转变。MCP作为开放标准,允许AI应用安全接入ABAP系统能力,使AI助手不再仅限于代码解释和模板生成,而能实际参与开发流程。通过ADT MCP Server,AI agent可调用包括对象创建、测试执行、对象激活等开发工具,但需遵循系统权限、校验机制和审批流程的约束。关键工具如ABAP Server Destinations确定目标系统,Object Creation工具则通过schema驱动方式确保创建

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1964

大型CAx(CAD/CAE/CAPP/CAM)工业软件开发中的关键组件

通过对FreeCAD、SALOME等多款代码的分析研究,发现这些软件在架构设计、模块实现等方面,存在许多相似(同)的技术思想。因此,有必要对这些共性、主流的技术予以总结分析。

国产CAx(CAD/CAE/CAM)软件研发 1万+

camera——HAL层知识分享

CameraHAL层是Android相机系统的核心中间层,负责连接Framework层与硬件驱动层。它通过标准化接口解耦软硬件,实现跨平台兼容性,同时为厂商提供硬件定制空间。主要功能包括:设备管理、数据流处理、参数控制以及图像优化。关键子系统涵盖预览、拍照、录像、对焦与曝光等模块,采用HAL3的"请求-响应"模型实现精细控制。性能优化重点关注启动时间、帧率稳定性和延迟控制。通过分层架构设计(接口层-核心层-适配层)和缓冲池机制,确保高效数据传输和硬件资源调度。

2302_77429403的博客 2074

YOLOv8缺陷检测可视化界面实战:PyQt5布局设计与代码实现

本文详细介绍了如何利用PyQt5为YOLOv8缺陷检测模型构建一个专业、易用的可视化界面。通过实战讲解PyQt5的布局管理器设计、信号槽机制与YOLOv8核心的集成,帮助开发者快速将AI模型部署为直观的桌面应用,提升工业质检等场景的落地效率。

redis7keeper的博客 758

MuleSoft企业级AI编排:让大模型真正听懂ERP与CRM

AI编排(AI Orchestration)是将大语言模型深度融入企业核心业务系统的关键范式,其本质在于解决LLM的语义泛化能力与ERP、CRM等系统严苛数据契约之间的根本矛盾。通过上下文注入、动态校验、安全护栏与反馈闭环,AI编排使LLM输出从‘看似合理’升级为‘生产可用’。MuleSoft Anypoint Platform凭借开箱即用的企业连接器、原生策略治理与Runtime Fabric高可靠运行时,成为落地Enterprise LLM Integration的首选基础设施。本文聚焦真实产线场景——

aijia7039的博客 392

ArcMap新手必看:5分钟搞定面要素的四至信息提取(附字段重命名技巧)

本文为ArcMap新手提供了快速提取面要素四至信息的详细教程,包括数据准备、坐标系选择、批量处理技巧及字段重命名优化方案。通过实战步骤和Python脚本示例,帮助用户高效完成GIS数据处理任务,特别适合行政区划数据分析和报告生成。

weixin_29266007的博客 384

Mythos因果推理模型:Gated Release机制与DCG架构解析

大语言模型正从概率生成迈向可验证因果推理,其核心在于构建动态因果图谱(DCG)以支撑多跳反事实推演与跨模态约束一致性。Mythos作为Anthropic推出的标志性能力升级,通过双通道隐状态同步机制实现因果干预稳定性提升80.5%,并首次将模型能力释放深度绑定至身份、环境、意图与负载四层门控体系。这种Gated Release模式不仅重塑API访问逻辑,更推动高可靠性AI决策系统在金融风控、医疗诊断等强逻辑场景落地。本文聚焦Mythos的因果图谱锚定原理、四层门控工程实现及生产级集成实践,为需嵌入可审计推理

weixin_30279315的博客 404

嵌入式工程师成长之路(0)----认识元件

在电子设计与维修中,认识元件是成功的关键!面对琳琅满目的电阻、电容、电感与二极管,样子形式千奇百怪,你是否也曾陷入困难? 本文基于行业权威分类标准,结合十年工程师实战经验,深度解析4大类、30+子类电子元件的核心特性、应用场景与避坑指南,助你从“小白”秒变“电子高手”!

云轩阁 11万+

EMB电子机械制动系统冗余备份方案介绍

随着汽车智能化技术的快速发展,自动驾驶技术的不断升级,对车辆制动系统的可靠性和安全性提出了更高要求。根据国际汽车安全法规(如UN R13-H)的最新修订,L3级及以上自动驾驶车辆必须配备具有冗余功能的制动系统,以确保在任何单一故障发生时仍能维持部分或全部制动能力。本文重点讨论最具前瞻性的EMB(电子机械制动)系统的冗余备份设计方案

m0_59012156的博客 853

对话式AI智能体开发指南:iMessage/RCS集成与实战解析

对话式AI智能体作为自然语言处理技术的重要应用,通过理解用户意图并提供智能化服务,正在重构人机交互方式。其核心原理基于自然语言理解(NLU)和对话管理系统,能够将复杂的业务逻辑转化为自然的对话流程。这种技术的价值在于显著降低用户使用门槛,实现无感服务体验,特别适用于消息平台集成场景。在移动应用生态中,对话式AI智能体可以无缝嵌入iMessage和RCS等通信工具,让用户在聊天过程中直接获取天气查询、快递跟踪等服务。Airtap方案正是基于这一理念,通过消息接收与解析层、对话管理引擎和技能执行模块的三层架构,

weixin_34262482的博客 457

最新Python爬虫实战(入门爬虫篇)——案例3:爬取二次元cos图片批量下载到本地(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了二次元图片的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖“请求列表页→提取详情页URL→请求详情页→提取图片链接→保存图片”的完整流程,与豆瓣案例的核心逻辑和格式完全对齐。学习重点包括:抓包工具定位多层级数据源、正则表达式匹配复杂链接、模拟请求头绕过反爬机制、文件名安全处理及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践,帮助学习者掌握多层级页面爬取的核心逻辑。

努力让自己发光,对的人才能迎着光而来 14万+
上一篇: 开发式编程,声明式编程和产生式编程
下一篇: Business Request的虚实之道
林仪明
博客等级 码龄25年 313粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值