#!/usr/bin/python
# coding=utf-8

"""
solid设计原则
"""

""" 
接口隔离原则（Interface Segregation Principle）：

描述：客户不应强迫依赖它不使用的方法；

内涵解释：
    设计建议：使用多个特定细分的接口比单一的总接口要好
    “依赖倒置原则” 与 “接口隔离原则”。这两条原则之间有一个共同点，那就是它们都和“抽象”有着紧密的联系。
    “依赖倒置原则”告诉我们要面向抽象而非实现编程，“接口隔离原则”教导我们在设计抽象时应该做到精准。

生活中的例子：
    手机充电器，笔记本充电器，而不是超级充电器；
    
违反原则的坏处：
    1. 不使用的方法也成为了它的依赖。
    2. 更多的接口方法意味着更高的实现成本，给实现方带来麻烦的概率也变高了。
    3. 暴露更多细节
    
违反原则后的修复方法：
    1. 分拆接口
        设计接口有一个技巧：让客户（调用方）来驱动协议设计。
    
代码举例：

"""