add 设计模式