go-patterns 建造者模式 装饰器模式 工厂模式 对象池模式 观察者模式 函数选项模式 代理模式 信号量模式 单例模式 策略模式 fan-in fan-out pub-sub 责任链模式 命令模式 pipeline