闭卷重建对象状态与类不变量的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建构造、方法与封装的对象、状态、事件、不变量与一个失败反例。
闭卷重建组合优先于继承的对象、状态、事件、不变量与一个失败反例。
闭卷重建值对象与实体身份的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:银行账户状态机的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:组合式购物车的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:不可变坐标变换的对象、状态、事件、不变量与一个失败反例。
核心机制:构造、方法与封装必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕构造、方法与封装先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:构造、方法与封装不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:对象状态与类不变量必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕对象状态与类不变量先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:对象状态与类不变量不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:值对象与实体身份必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕值对象与实体身份先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:值对象与实体身份不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:组合优先于继承必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕组合优先于继承先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:组合优先于继承不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:组合式购物车必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:组合式购物车先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:组合式购物车不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:银行账户状态机必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:银行账户状态机先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:银行账户状态机不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:不可变坐标变换必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:不可变坐标变换先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:不可变坐标变换不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。