面向接口编程 将具体逻辑与实现分开,减少各个类之间的相互依赖,当各个类变化时,不需要对已经编写的系统进行改动,添加新的实现类就可以了,不用担心新改动的类对系统的其他模块造成影响 即将逻辑与实现分离,便于协调