1. 程式人生 > 其它 >設計模式(4):JAVA(4):軟體設計原則(4)介面隔離原則:設計介面時,介面的抽象應該是有意義的

設計模式(4):JAVA(4):軟體設計原則(4)介面隔離原則:設計介面時,介面的抽象應該是有意義的

介面隔離原則:設計介面時,介面的抽象應該是有意義的

反例:動物介面中定義的方法並不是被所有動物需要的

interface  Animal{
        void eat();
        void fly();
        void swim();
    }
    class Bird implements Animal{
        @Override
        public void eat() {
            System.out.println("吃");
        }
        @Override
        public void
fly() { System.out.println("飛"); } //======鳥不會游泳,並不需要實現 @Override public void swim() { System.out.println("游泳"); } }

正例:介面抽象出有意義的層級,供需要的類去實現

interface  Flyable{
        void fly();
    }
interface  Swimable{
        void swim();
    }
interface Eatable{ void eat(); } class Bird implements Flyable,Eatable{ ..... } class Dog implements Swimable,Eatable{ ..... }

客戶端不應該依賴那些它不需要的介面。

一旦一個介面太大,則需要將它分割成一些更細小的介面,使用該介面的客戶端僅需知道與之相關的方法即可

本文來自部落格園,作者:秋華,轉載請註明原文連結:https://www.cnblogs.com/qiu-hua/p/15227099.html