【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

IODA 架构简介

  • 2015-05-29
  • 本文字数:683 字

    阅读完需:约 2 分钟

Ralf Westphal 看来,像分层架构六角架构整洁架构等所有这些常见的架构模式都做了同样的两件事:定义职责域和功能依赖排序。在他看来,这些模式给出的应用程序架构思路都非常简略,从本质上讲,它们将软件描述为一种功能或行为依赖的深层次结构。

在寻找另外一种架构描述方法的过程中,Westphal 定义了一种名为 IODA 的架构风格。该架构模式基于三种与“行为职责(behavioural responsibility)”毫不相干的“形式职责(formal responsibility)”:
“操作(Operation)”是操作某些数据的一段逻辑或一种行为,但它不知道其它任何操作,也不能调用它们。
“数据(Data)”是结构化数据,其中可能包含用于确保一致性的数据操作服务,但不包含任何其它形式的逻辑。
“集成(Integration)”调用操作或其它集成,将它们整合到一起创建行为,但它们不包含逻辑。
API和框架是第四部分,操作通过它们与环境进行交互。

在这种模型中,操作仅仅依赖于数据,而集成依赖于操作和其它集成。通过这种方式,Westphal 声称已经移除了所有的功能依赖,只剩下他称之为形式依赖或空依赖的东西。他还指出,由于操作不能调用其它操作,将逻辑抽取到新操作方法中意味着需要创建集成来整合它们,这样可以迫使应用程序中的方法都是只有 10 到 20 行代码的小方法。

关于 IODA 架构,Westphal 提到了一个重要的方面,就是它可以出现在若干层面上。在某个抽象层次上的操作,在放大后,本身也可以是一个完整的 IODA 结构。

Westphal 已经创建了一个使用 IODA 架构设计和实现一个小型应用程序的示例,其中包括对基本设计思路的描述。代码下载请点击这里

查看英文原文: Introducing IODA Architecture

2015-05-29 06:023179
用户头像

发布了 1008 篇内容, 共 370.5 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

读配置、讲原理、看面试真题,我只能帮你到这了。。。

阿Q说代码

redis 主从架构 增量同步 全量同步 过期key处理

不要小看了积分商城,它的作用可以很大!

CRMEB

微博评论的计算架构

极客土豆

面对AI人才培养的“产学研”鸿沟,昇腾AI如何做厚产业人才黑土地?

脑极体

MyBatis 执行流程及源码解析

码农参上

mybatis java实战

六大专题全方位优化,阿里巴巴性能优化小册终开源,带你直抵性能极致

Java全栈架构师

Java 程序员 面试 性能优化

先到先得!“阿里爸爸”全新出品SpringBoot高级笔记(全彩版)

Java全栈架构师

Java 源码 程序员 面试 springboot

DDD概念复杂难懂,实际落地如何设计代码实现模型?

Java全栈架构师

程序员 后端 领域驱动设计 DDD 架构师

Wireshark网卡无法找到或没有显示的问题

岚哲

网络 Wireshark 域名 vpn 网卡

什么是算子?

华为云开发者联盟

人工智能 算子

Tiger DAO VC产品正式上线,Seektiger生态的有力补充

鳄鱼视界

web内容如何保护:如何有效地保护 HTML5 格式的视频内容?

zhoulujun

DRM 视频版权保护 数字版权保护 h5视频版权

商城风格也可以很多变,DIY 了解一下!

CRMEB

揭秘GaussDB(for Redis):全面对比Codis

华为云开发者联盟

数据库 后端 算力

地理位置数据存储方案——Redis GEO

程序员架构进阶

redis 源码剖析 geo 6月日更 6月月更

解析数仓lazyagg查询重写优化

华为云开发者联盟

数据库 后端

中断操作:AbortController学习笔记

zhoulujun

新一代构建工具(1):对比rollup/parcel/esbuild—esbuild脱颖而出

zhoulujun

Rollup webpack esbuild

《睡眠公式》:怎么治睡不好?

郭明

读书笔记

Java代码优化请求合并与分而治之

码农参上

Java 大数据 高并发 java实战

居家办公让我绩效拿了C | 社区征文

大菠萝

初夏征文

TML转义字符:xss攻击与HTML字符的转义和反转义

zhoulujun

XSS xss攻击 转义字符 反转义

Pipenv中安装Django

宇宙之一粟

django 6月月更

面试官:你简历上说精通mysql,那你说下聚簇/联合/覆盖索引、回表、索引下推

Java全栈架构师

MySQL 数据库 程序员 面试 java架构

SDN系统方法 | 10. SDN的未来

俞凡

架构 网络 sdn SDN系统方法

华为发布两大昇腾计划 推动AI人才发展和科研创新

郝俸🦁好棒

昇腾

TLog 助力盘古框架实现微服务链路日志追踪

码农大熊

盘古开发框架

揭秘GES超大规模图计算引擎HyG:图切分

华为云开发者联盟

人工智能 图计算 图切分

喜报|海泰方圆通过CMMI-3资质认证,研发能力获国际认可

电子信息发烧客

源码其实很简单!阿里巴巴最新出品Spring学习脑图+视频+文档真香

Java全栈架构师

Java spring 源码 程序员 面试

IET出席2022世界科技社团发展与治理论坛 为构建国际科技共同体献言献策

E科讯

IODA架构简介_架构_Jan Stenberg_InfoQ精选文章