设计模式 接口隔离原则

简介:

设计模式 接口隔离原则
用类图说明

然后书写代码清单

public interface IPettyGirl{
    // 面孔
    public void goodLooking();
    // 身材
    public void niceFigure();
    // 气质
    public void greatTemperament();
}

接着,使用具体的类实现

public class PettyGirl implements IPettyGirl{
    private String name;
    // 书写名字
    public PettyGirl(String _name){
        this.name = _name;
    }
    // 脸
    public void goodLooking(){
        
    }
    // 气质
    public void niceFigure(){

    }
    // 身材
    public void niceFigure(){
    
    }
}

对星探定义

public abstratc class AbstractSearcher{
    protected IPettyGirl pettyGirl;
    public AbstractSearcher(IPettyGirl _pettyGirl){
        this.pettyGirl = _pettyGirl;
    }
    // 定义搜索抽象类
    public abstract void show();
}

然后对星探进行实现

public class Searcher extends AbstractSearcher{
    public Searcher(PettyGirl _pettyGirl){
        super(_pettyGirl);    // 调用抽象类中的构造方法进行初始化
    }
    // 展示
    public void show(){
        // 面容
        super.pettyGirl.goodLooking();    // 调用传入的对象的方法
        // 身材
        super.pettyGirl.niceFigure();
        // 气质
        super.pettyGirl.greatTemperament();
    }
}

接着书写场景

public class Client{
    public static void main(String[] args){
        IPettyGirl yanYan = new PettyGirl("");
        AbstractSearcher searcher = new Searcher(yanYan);
        searcher.show();
    }
}

接着,要进行更改了。对好看的定义,发生了改变,那么就应该改变PettyGirl中的内容,但是已经在接口中定义了。那么就有问题了。即,接口承担的内容过多导致

接口隔离原则

发现问题了。接口被过度的封装了,那么就要进行拆分。

// 接着对人进行定义
public interface IGoodBodyGirl{
    // 面孔
    public void goodLooking();
    // 要有身材
    public void niceFigure();
}
public interface IGreatTempramentGirl{
    // 气质
    public void greatTemperament();
}

接着定义标准的

public class PettyGirl implements IGoodBodyGirl, IGreatTempramentGirl{
    private String name;
    // 名字
    public PettyGirl(String _name){
        this.name = _name;
    }
    // 脸
    public void goodLooking(){
        
    }
    // 气质
    public void greatTemperament(){

    }
    // 身材
    public void greatTemperament(){
    }
}

总结

接口要承担的功能要最小。即,要满足单一原则。
接口要高内聚 即 接口中少公布public方法,即,接口要承担的职责要最小,最核心
举例,要定制图书管理系统

拆分成两个接口,该接口一个对内,一个对外,保证了安全。
即,一个接口只服务于一个子模块和业务逻辑
www.iming.info

目录
相关文章
|
6月前
|
设计模式 Java 测试技术
Java设计模式七大原则-接口隔离原则
Java设计模式七大原则-接口隔离原则
35 0
|
10月前
|
设计模式 消息中间件 存储
【Java设计模式 经典设计原则】四 SOLID-ISP接口隔离原则
【Java设计模式 经典设计原则】四 SOLID-ISP接口隔离原则
107 0
|
设计模式 测试技术
设计模式 - 六大设计原则之ISP(接口隔离原则)
接口隔离原则(Interface Segregation Principle, ISP),要求尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含相关的方法。 接口隔离是为了高内聚、低耦合。 在实际的开发中,通常都是先定义好需要开发的接口,并由各个服务去实现。 但是如果没有经过考虑和设计,很可能造成一个接口中包含了众多的接口方法,而这些接口并不一定在每一个类中都需要实现, 这样的接口很难维护, 也不易于扩展,每一次修改验证都有潜在的风险。
150 0
设计模式 - 六大设计原则之ISP(接口隔离原则)
|
设计模式
设计模式(2)--接口隔离原则
设计模式(2)--接口隔离原则
设计模式(2)--接口隔离原则
|
设计模式
设计模式七大原则——接口隔离原则
设计模式七大原则——接口隔离原则
设计模式七大原则——接口隔离原则
|
设计模式 uml
设计模式六大原则(四)----接口隔离原则
设计模式六大原则(四)----接口隔离原则
166 0
|
设计模式
【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )
【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )
175 0
|
设计模式 Java
设计模式—— 四:接口隔离原则
设计模式—— 四:接口隔离原则
135 0
设计模式—— 四:接口隔离原则
|
设计模式 uml
寂然解读设计模式 - 接口隔离原则
接口隔离原则就是当我一个类通过接口依赖(使用)另一个类的时候,要保证依赖的该接口是最小的,接口里面有方法用不到的,就进行隔离,而隔离的做法就是,就对原来接口进行拆分,拆分为最小粒度,来避免耦合
108 0
寂然解读设计模式 - 接口隔离原则
设计模式六大原则(4):接口隔离原则
定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。
985 0