码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式 接口隔离原则

时间:2018-11-25 12:02:10      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:分享   int   vat   cli   main   log   分享图片   写代码   接口隔离原则   

设计模式 接口隔离原则
用类图说明
技术分享图片

然后书写代码清单

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方法,即,接口要承担的职责要最小,最核心
举例,要定制图书管理系统
技术分享图片

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

设计模式 接口隔离原则

标签:分享   int   vat   cli   main   log   分享图片   写代码   接口隔离原则   

原文地址:https://www.cnblogs.com/melovemingming/p/10014525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!