面向对象设计原理
结构型模式
行为模式
创建型模式
软件架构模式