工厂,状态,观察者等18种设计模式每一种设计模式有详细介绍,代码(C++),UML图