Q1主动回忆难度 2
1/12
设计模式 · 中级 04
记忆强度
设计模式中级题库第 4 组,共 12 张卡片。
设计模式 · 中级 04
工厂方法与抽象工厂的区别不在于创建代码写了几层,而在于管理的变化轴不同。
三种方式解决的重点不同:构造函数强调“创建一个满足固定不变量的新实例”,静态工厂强调“根据输入选择创建过程或具体类型”,原型克隆强调“以已有对象为模板复…
适配器、代理和装饰器都可能表现为“持有一个对象并在外面包一层”,但区分它们应看设计意图和契约变化。
创建型模式的价值不在于“少写几个 new”,而在于隔离创建知识、约束对象生命周期,并让调用方依赖稳定的抽象。
设计模式迁移的首要问题不是“新模式是否更先进”,而是现有结构正在造成什么可测量的问题,以及替换后能否改善这些指标。
仓储层的价值是向业务代码提供稳定的领域数据访问协议,并隔离远端接口、浏览器存储和缓存等基础设施差异;
状态连接层的职责应限制为读取外部状态、选择组件所需数据、映射可触发的动作,并把这些内容转换成视图组件的显式输入。
模板方法通过固定流程骨架并允许局部步骤被替换来复用算法。
空对象模式适合消除调用链中反复出现且语义稳定的“什么也不做”分支,但不应掩盖数据缺失、配置错误或尚未完成的异步状态。
事件代理利用事件传播机制,把多个子元素的监听集中到稳定祖先节点,适合元素数量大、节点频繁增删且事件能够冒泡的界面。
全局模态框可以采用单例思想协调唯一展示通道,但不应把它实现成永不销毁、到处直接导入的模块级可变对象。
四种结构型模式可能具有相似的包裹形态,但意图不同:代理模式控制对原对象的访问,适配器模式转换不兼容接口,装饰者模式在保持接口语义的前提下叠加职责,外观模…