使用C++实现的各种设计模式