在学习接口隔离原则之前首先我们必须明白接口的概念。java中的接口是一些方法特征集合

       其方法并未实现。

                接口有其两种含义:

                     1、java接口:java语言中存在的结构,具有特定的语法和结构。

                            说的直白一点就是对象接口,java中的类通过关键字new产生的一个实例,他是对

                            一种类型的事物的描述,类就是“实例化”对象的接口

                     2、接口:一个类所具有的方法的特征集合,是一种逻辑上的抽象。

                            这种接口就是通过interface关键字定义的接口了

               理解了这两个概念后,再来理解接口隔离原则。

               接口隔离原则定义:

                       客户端不应该依赖于他不需要的接口;一个类对另一个类的依赖应该建立在最小

                  的接口之上。概括的来讲就是接口的设计不要过于“臃肿”、“庞大”,也就是接口的方法不宜过多

              如何理解呢?举一个实例吧,先来看接口设计不合理的类图

              根据上述类图可以知道,该接口的设计过于臃肿了,因为只要是接口中出现的方法,不管对依赖

       与他的类来说有没有用处都必须实现它,这显然是一种不好的设计。根据接口隔离原则的定义,我们

       可以将该接口分散成两个接口如下图:

            

           接口隔离原则就是要建立单一的接口,不要建立庞大的接口,尽量细化接口,接口中的方法尽量精简

     我们应该为同属于一个产品结构的类去建立接口,而不是为所有类建立接口。接口设计是对外部设定的

     契约。通过接口隔离原则,可以提高系统的灵活性和可维护性。

           想一想前面的单一责任原则,也许会觉得他们是一样的。其实不然。

                    1、单一职责原则注重的是类的职责,而接口隔离原则注重的是类对接口依赖的隔离。

                    2、单一职责原则是为了约束类的,它针对的是类的“行为”,注重其实现细节。而接口隔离原则

                          主要约束接口,强调程序整体框架的构建。

            不过采用接口约束原则进行接口设计的时候需注意:

                      ● 接口尽量小,但是也有一个限度。(接口太小造成接口数量过多)

                      ● 设计接口的时候,只为依赖于他的类提供其需要的方法。

                      ● 提高内聚,减少对外的交互。