如何称呼仅首次调用返回TRUE的状态化函数/对象?
单次触发状态函数/对象的命名与设计模式
这种行为类似“仅能进入一次的门”的状态化函数/对象,有几个常用称呼:
- 一次性触发器(One-Time Trigger):最直观的描述,突出“仅触发一次”的核心特性
- 门闩(Latch):类比物理门闩的特性——一旦落下就无法再推开,对应不可逆的状态转换
- 一次性开关(One-Shot Switch):从电路领域借用的术语,指仅能被触发一次的开关组件
- 在函数式编程场景中,也常被称为单次调用函数(Once Function)
关于设计模式归属:
它属于**状态模式(State Pattern)**的极简特例——该实体仅包含两种不可逆转换的状态:「未触发」(初始状态)和「已触发」(终止状态)。由于逻辑过于简单,它通常不会被列为独立的设计模式,而是作为状态模式的简化应用场景存在。
以下是符合定义的伪代码实现示例:
class OneShotLatch: def __init__(self): self._activated = False def __call__(self) -> bool: if not self._activated: self._activated = True return True return False
内容的提问来源于stack exchange,提问作者yegor256
相关产品推荐
相关产品推荐

