前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式 接口隔离原则

设计模式 接口隔离原则

原创
作者头像
mySoul
发布2018-11-25 05:02:47
4810
发布2018-11-25 05:02:47
举报
文章被收录于专栏:mySoulmySoul

设计模式 接口隔离原则

用类图说明

然后书写代码清单

代码语言:txt
复制
public interface IPettyGirl{
	// 面孔
	public void goodLooking();
	// 身材
	public void niceFigure();
	// 气质
	public void greatTemperament();
}

接着,使用具体的类实现

代码语言:txt
复制
public class PettyGirl implements IPettyGirl{
	private String name;
	// 书写名字
	public PettyGirl(String _name){
		this.name = _name;
	}
	// 脸
	public void goodLooking(){
		
	}
	// 气质
	public void niceFigure(){

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

对星探定义

代码语言:txt
复制
public abstratc class AbstractSearcher{
	protected IPettyGirl pettyGirl;
	public AbstractSearcher(IPettyGirl _pettyGirl){
		this.pettyGirl = _pettyGirl;
	}
	// 定义搜索抽象类
	public abstract void show();
}

然后对星探进行实现

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

接着书写场景

代码语言:txt
复制
public class Client{
	public static void main(String[] args){
		IPettyGirl yanYan = new PettyGirl("");
		AbstractSearcher searcher = new Searcher(yanYan);
		searcher.show();
	}
}

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

接口隔离原则

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

代码语言:txt
复制
// 接着对人进行定义
public interface IGoodBodyGirl{
	// 面孔
	public void goodLooking();
	// 要有身材
	public void niceFigure();
}
public interface IGreatTempramentGirl{
	// 气质
	public void greatTemperament();
}

接着定义标准的

代码语言:txt
复制
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方法,即,接口要承担的职责要最小,最核心

举例,要定制图书管理系统

拆分成两个接口,该接口一个对内,一个对外,保证了安全。

即,一个接口只服务于一个子模块和业务逻辑

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接口隔离原则
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com