设计模式 接口隔离原则
设计模式 接口隔离原则
用类图说明
然后书写代码清单
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方法,即,接口要承担的职责要最小,最核心
举例,要定制图书管理系统
拆分成两个接口,该接口一个对内,一个对外,保证了安全。
即,一个接口只服务于一个子模块和业务逻辑
设计模式 接口隔离原则相关推荐
- Java设计模式 - 接口隔离原则
文章目录 1. 违反接口隔离原则 2. 遵守接口隔离原则 Interface Segregation Principle: 客户端不应该依赖它不需要的接 口,即一个类对另一个类的依赖应该建立在最小的接 ...
- 五、设计模式——接口隔离原则
接口隔离原则 接口隔离原则:客户端不应该被迫依赖于它不使用的方法(要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用) 接口隔离原则和单一职责都是为了提高类的内聚 ...
- [设计模式]设计模式之禅关于接口隔离原则
在讲接口隔离原则之前,先明确一下我们的主角--接口.接口分为两种: ● 实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述 ...
- 接口隔离原则_设计模式六大原则
作者:VieLei 原文:https://blog.csdn.net/s10461/article/details/53941097 在android中我们常提起的设计模式大约有23种,利用好设计模式 ...
- 深入浅出设计模式_深入浅出设计模式03接口隔离原则
本文作者:开课吧寂然 图文编辑:开三金 大家好~,我是寂然~,本节课呢,我来给大家介绍设计模式原则之接口隔离原则. 话不多说,我们直接进入正题,老规矩,首先带大家了解一下接口隔离原则的官方定义,并作一 ...
- 深入浅出设计模式原则之接口隔离原则(ISP)
下面以学生成绩管理程序为例介绍接口隔离原则的应用(工程源码). 分析:学生成绩管理程序一般包含插入成绩.删除成绩.修改成绩.计算总分.计算均分.打印成绩信息.査询成绩信息等功能,如果将这些功能全部放到 ...
- 接口隔离原则_设计模式之七大设计原则(上)
这是雷总20多年前写的汇编程序,像诗一样优雅 而中国诗词讲究平仄.押韵.对仗等一系列的规则原则, 那么想要写出像诗一样优雅的程序你不得不知的 -- 设计模式之七大原则: 1.开闭原则:对修改关闭,对扩 ...
- 学习设计模式 - 六大基本原则之接口隔离原则
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...
- 接口隔离原则_设计模式的三大分类及六大原则
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是众多软件开发人员经过 ...
最新文章
- 新浪新闻改版了,是到了告别的时候了吗?
- Linux系统内存的Cached Memory
- windows2008R2下CA(CS)服务迁移
- Spark UDAF用户自定义聚合函数
- 导出mysql sql语句吗_mysql sql语句导入与导出
- Sicily 1694. Spiral
- php+mysql实现数据分批插入
- linux获取bind返回值信息,v$sql_bind_capture 获取绑定变量信息
- cpuset(7) — Linux manual page
- 瞥一瞥AI,撩一撩算法
- 10本Java架构师必读书籍
- java hotmail日历,我用java写的日历
- 写一个加密程序对文件加密
- VC知识库之应用控制
- 嵌入式计算机应用方面,嵌入式实时软件在计算机中的应用研究
- linux命令之----sort命令用于将文本文件内容加以排序
- 使用JavaScript进行进制转换将字符串转换为十进制
- python html网页合并单元格,python合并单元格解决办法
- 千千音乐 for Mac(音乐播放器)
- 职业3D游戏建模师入行工资一个月是多少钱?
热门文章
- tcp协议seq和ack
- 终于看到这么贱的星座分析了
- 利用SMS实现资产管理
- 签名(Signature)认证实现方式-用于请求鉴权
- 【Linux系列】centos7中防火墙相关命令
- Mac 运行goland出现can‘t load package: package xxxx is not in GOROOT问题排查
- Java,C实现约瑟夫环,一元多项式运算器
- Linux的首次登录操作总结
- java编写母亲节快乐_写在母亲节来临之际
- [java] DOS编译 .java 文件得到 .class 文件 并执行 以及使用外部 .jar包 时的命令...