闭卷重建策略模式与变化轴的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建适配器与接口翻译的对象、状态、事件、不变量与一个失败反例。
闭卷重建观察者与生命周期的对象、状态、事件、不变量与一个失败反例。
闭卷重建工厂与构造复杂性的对象、状态、事件、不变量与一个失败反例。
闭卷重建模式、函数与简单代码的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:策略管道的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:事件订阅注销的对象、状态、事件、不变量与一个失败反例。
核心机制:适配器与接口翻译必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕适配器与接口翻译先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:适配器与接口翻译不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:策略模式与变化轴必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕策略模式与变化轴先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:策略模式与变化轴不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:工厂与构造复杂性必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕工厂与构造复杂性先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:工厂与构造复杂性不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:观察者与生命周期必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕观察者与生命周期先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:观察者与生命周期不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:策略管道必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:策略管道先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:策略管道不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:模式、函数与简单代码必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕模式、函数与简单代码先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:模式、函数与简单代码不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:事件订阅注销必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:事件订阅注销先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:事件订阅注销不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。