架构模式很多,仅举三例。

1.1.1 分层架构

经典三层架构最优场景,数据库管理软件(增删查改),大部分企业软件都是这类。经典三层架构自顶向下由用户界面层、业务逻辑层与数据访问层组成。《领域驱动设计》中的分层架构:用户界面层、应用层(给调用者提供完整的业务用例)、领域层、基础设施层。

分层依据:一,顶层更面向业务和用户,底层更面向通用和硬件。二,面对变化。三,同层处于同一抽象层次。

注意:如果某一层大部分函数只是简单调用低层的函数,则此层应该取消。

1.1.2 事件总线架构

三个参与者:事件总线、发布者、订阅者,发布者只能发消息给事件总线,事件总线只能发消息给订阅者。消息也称为事件。此架构非常适合于分布式系统,异构系统也没有影响。一个模块可以同时是发布者和订阅者。

时间总线模块和消息队列模块的区别:前者收集、转发消息,不需要知道有多少个订阅者;后者直接处理消息或转给子模块。消息队列相对消息优点:异步、削峰。消息相对于直接函数调用的优点:解耦。

1.1.3     黑板模式

黑板模式由3个主要组成部分组成:黑板:包含来自解决方案空间的对象的结构化全局内存。知识源:专门的模块和它们自己的表示。控制组件:选择、配置和执行模块。使用场景:语音识别、车辆识别和跟踪、蛋白质结构识别、声纳信号的解释等。这类问题具有如下特点:可以分解成多个子问题,但每个子问题都属于不同的专业领域。要解决子问题,需要使用不同的表示法和范式,往往没有既定策略。

posted on   闻缺陷则喜何志丹  阅读(75)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2019-06-05 明清时期宗族、乡绅与基层社会



点击右上角即可分享
微信分享提示