observer
观察者模式 - 定义对象间的一对多依赖,状态改变时通知所有依赖对象。
函数签名
typescript
function createObserver<T>(): Subject<T>
function createPubSub<EventMap>(): PubSub
interface Subject<T> {
attach: (observer: Observer<T>) => void
detach: (observer: Observer<T>) => void
notify: (data: T) => void
getObserverCount: () => number
}使用示例
typescript
import { createObserver } from 'zcw-shared/functions/patterns/observer'
const subject = createObserver<{value: number}>()
subject.attach({
update: (data) => console.log('观察者1:', data.value)
})
subject.notify({ value: 100 })观察者模式 - 一对多依赖通知!