【メモ】インターフェース隔離の原則

4996 ワード

インタフェース分離の原則
定義#テイギ#
  • は、単一の総インタフェースを使用するのではなく、複数の専用インタフェースを使用し、クライアントは不要なインタフェース
  • に依存すべきではない.
  • クラス対クラスの依存性は、最小インタフェース上で
  • に確立されるべきである.
  • 単一インタフェースを確立し、膨大で肥大化したインタフェース
  • を確立しないでください.
  • できるだけインタフェースを細分化し、1つのインタフェースの中の方法はできるだけ
  • 少なくする.
  • 適度原則、必ず適度(最も重要な点)
  • メリット
  • は、我々がよく言う高集約、低結合の設計思想に合致し、クラスに良好な可読性、拡張性、メンテナンス性をもたらす
  • である.
    コードの例
    /**
     *       
     */
    public class Interface {
    }
    
    /**
     *     ,            ,         ,  
     */
    interface AnimalAction {
        void eat();
    
        void fly();
    
        void swim();
    }
    
    /**
     *  
     */
    class Dog implements FlyAnimalAction, EatAnimalAction {
    
        @Override
        public void eat() {
    
        }
    
        @Override
        public void fly() {
    
        }
    }
    
    /**
     *  
     */
    class Bird implements EatAnimalAction, FlyAnimalAction {
    
        @Override
        public void eat() {
    
        }
    
        @Override
        public void fly() {
    
        }
    }
    
    /**
     *  
     */
    interface FlyAnimalAction {
        void fly();
    }
    
    /**
     *  
     */
    interface EatAnimalAction {
        void eat();
    }
    
    /**
     *   
     */
    interface SwimAnimalAction {
        void swim();
    }