对接口编程而不是对实现编程

优先使用对象组合而不是继承


导论

创建型模式

结构型模式