参考文献

把模式主张追溯到原始著作、案例与相关模式语言,区分来源证据和当前项目验证。

学习目标

  • 能为一次模式选择建立从主张、引用坐标到当前验证的可追溯来源链
  • 能区分原始来源、公开目录、出版社信息和项目实验各自支持与不支持的内容
  • 能在来源过期、引用不精确或实验与文献不一致时记录修正、撤回和复核路径

为什么参考文献值得单独学习

参考文献不是链接收藏夹,而是让每个 Source Claim 都能回答“谁说的、在哪一处、支持到什么范围、当前是否复核”。目录决定模式名称和范围,原始著作或公开目录支持模式语义,项目实验才支持当前系统的性能与故障结论。

订单系统架构评审能暴露这个边界。团队可能引用“仓储适合封装持久化”,但这句话不能自动证明当前 ORM 查询减少,也不能证明当前团队应当使用仓储。引用支持的是概念或历史语境,当前性能和故障行为必须由独立实验验证。

没有坐标的链接只能证明页面存在,不能证明页面支持当前主张;坐标变化时要记录旧坐标和新的定位方式。

证据等级不是权威排名,而是提醒评审不要用目录摘要支撑实现细节,也不要用一次项目实验改写原始概念的历史含义。

先建立直觉:引用和验证是两条相交的链

适用边界把“来源说过什么”与“本项目何时采用”分开;一个公开模式摘要可以支持概念,但不能替团队决定容量、隐私或故障预算。

验证台账必须保留输入、环境、观察结果和撤回条件。它是当前项目证据,不是对原书正文的替代。

先预测:一篇公开目录写着某模式用于解决某类问题,能否直接作为“当前系统延迟下降 30%”的依据?答案应是否定的;先把模式语义、项目假设和测量结果拆成三个 Source Claim,再为每个主张选择合适的证据等级。

目录单元到教学证据

参考文献

参考文献 的单元边界内,学习者要把订单系统架构评审拆成主张、坐标、来源类型、适用边界和当前验证五类证据。单元键为 poeaa24-references;核心证据是另一位复核者能从引用重新定位主张,并能看出哪些结论来自文献、哪些结论来自项目实验。

评审记录还要回答:来源的版本和发布日期是什么,引用支持定义还是实现细节,当前系统的约束是否匹配,实验是否可重复,来源失效时如何标记和修正。如果所有链接都指向首页,引用就没有形成可审计的坐标。

专属代码案例:来源追踪记录

下面的类型把一个 Source Claim 的最小追踪合同固定下来。它不自动判断来源真伪,而是防止把无坐标链接、未经验证的项目结论和原始模式语义混为一谈。

type EvidenceLevel =
  | "author-book"
  | "author-catalog"
  | "publisher"
  | "project-test";
 
type SourceTrace = {
  claim: string;
  sourceUrl: string;
  coordinate: string;
  level: EvidenceLevel;
  applicability: string;
  verificationLog?: string;
};
 
function isAuditable(trace: SourceTrace): boolean {
  return (
    trace.claim.trim().length > 0 &&
    /^https?:\/\//.test(trace.sourceUrl) &&
    trace.coordinate.trim().length > 0 &&
    trace.applicability.trim().length > 0 &&
    (trace.level !== "project-test" || Boolean(trace.verificationLog?.trim()))
  );
}

这段代码提供五项证据:主张必须有内容,URL 必须可访问,Citation Coordinate 不能空缺,Applicability Boundary 必须明确,项目实验必须附 Verification Log。它不把“能打开网页”当成“网页支持主张”,也不替代人工核对来源的版本和语境。

追踪链结构图

参考文献:从主张到可复核验证Source Claim定义 / 建议性能 / 故障Citation Coordinate标题 / 节点 / 版本精确定位记录核对日期Evidence Level书 / 目录 / 实验支持范围当前复核BoundaryVerification Log每一步都能质疑、补证据或撤回,不把链接当结论引用链把来源范围和项目结论分开
可审计的参考文献记录从主张出发,经过精确坐标和证据等级,连接到当前项目验证。

追踪链从 Source Claim 进入 Citation Coordinate,再标记 Evidence Level 和 Applicability Boundary,最后连接当前项目的 Verification Log;每一步都可独立质疑。

来源证据与当前验证

参考文献:不同来源支持不同主张作者图书页主题 / 结构不证明项目性能author-book作者模式目录名称 / 模式族公开摘要范围author-catalog出版社页面出版 / 书目不证明实现细节publisher项目测试当前行为版本 / 样本 / 环境project-test共同输入架构评审,但支持范围各不相同来源可信不等于来源支持所有结论
文献和项目实验各自承担不同证据责任,冲突时应缩小主张或补充验证。

来源证据和项目验证不能互相冒充:作者图书页与公开目录用于核对主题和模式坐标,出版社页面用于出版信息,项目测试用于当前版本的行为结论。若两条链不一致,应保留冲突、回到主张范围并记录撤回路径。

一个可复核的来源台账

主张来源与坐标证据等级当前验证适用边界
模式目录按模式族组织,便于按问题检索作者模式目录,对应模式族标题与模式节点author-catalog课程导航按模式族生成,链接可打开只支持目录范围,不支持本系统性能
本书讨论企业应用架构中的模式选择作者图书页,图书主题与目录介绍author-book课程章节映射到官方单元键只支持主题和结构,不复现原书正文
英文版出版信息与书目可交叉核对Pearson 页面,出版元数据publisher记录译本和出版信息不支持模式实现或项目约束
当前订单评审的查询数在批量方案下保持固定项目测试报告中的测试名、提交号和运行时间project-test由本项目测试与日志复核只适用于当前代码、数据规模和运行环境

台账的目的不是给每个观点增加链接,而是让引用范围和验证范围保持诚实。若来源只能支持“是什么”,就不要把它写成“在当前系统中一定有效”;若项目测试只跑过一次,也要保留样本、环境和未覆盖条件。

选择与拒绝矩阵

评审问题选择参考文献台账的证据应拒绝当前做法的信号
主张每条 Source Claim 都能拆成可检查句子一段话混合定义、建议和性能结论
坐标Citation Coordinate 可定位到版本和具体节点所有链接都指向首页或搜索结果
等级Evidence Level 与主张类型相匹配用出版社元数据支撑实现行为
边界Applicability Boundary 写出约束和未覆盖范围把原书模式自动当成当前架构结论
验证Verification Log 有输入、环境、结果和撤回条件一次成功截图被当成普遍证明

常见误区

可验证练习

练习

本组练习围绕 参考文献,要求把来源类型、引用坐标和项目验证拆成可重放证据。

问题 1:拆分主张。 文档写着“仓储模式能让订单查询更快”。应如何改写并建立来源链?

问题 2:补齐坐标。 台账有作者模式目录 URL,但没有说明具体模式节点。复核者还缺什么?

问题 3:处理冲突。 项目实验没有复现来源描述的收益,应该把引用删除还是直接保留原架构?

名词解释

名词解释

本章出现的专业名词,用大白话再讲一遍。

Source Claim

需要由具体来源或项目证据支持、可被复核者拆解检查的架构陈述。

Citation Coordinate

用于定位来源具体章节、模式节点、页码、锚点或版本的精确位置。

Evidence Level

标记证据来自原始著作、作者目录、出版社信息、二手解释或项目实验的分类。

Applicability Boundary

说明主张在什么问题、约束、版本和系统范围内仍然适用的条件集合。

Verification Log

记录当前项目复现、质疑或限制来源主张的输入、环境、结果和撤回条件。

本章小结

掌握参考文献的标志,不是收集更多链接,而是能在订单系统架构评审中解释“主张 → 引用坐标 → 证据等级 → 适用边界 → 当前验证”的责任链。作者图书页、公开模式目录和出版社信息支持不同类型的来源事实,项目测试才支持当前行为;当引用没有坐标、目录被当成性能证明或冲突被删除时,应拒绝当前台账并补齐撤回路径。

前后导航

来源与改写范围

资料与写作方式声明

本章以Martin Fowler《企业应用架构模式》与公开模式目录权威目录界定学习范围,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…