针对接口编程,而不是针对实现编程 不将变量类型声明为某个特定的具体类,而声明为某个接口客户程序无需获知对象的具体类型,只需要知道对象所具有的具体接口减少系统中各部分的依赖关系,从而实现”高内聚,松耦合“的类型的设计方案