本文主要是介绍设计模式之隔离宗的美女,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
接口隔离原则:客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。
小语跟神秘胖子前往隔离宗。
自从胖子来到了隔离宗的地界上,就神神秘秘的,时不时嘴角还露出一抹有些淫荡的笑,看的小语摸不着头脑。
“胖子,你怎么了?怎么总是浮现出让人恶心的笑?”
“嘿嘿~!你不知道隔离宗最出名的是什么嘛?”,胖子鬼鬼祟祟的说道。
“不知道啊!”小语更加挠头了。
“美女啊,美女,隔离宗盛产美女!到地方你就知道了。”胖子一脸坏笑的说道。
到了隔离宗…
胖子的眼睛就没有眨过,口水都流下来了。小语虽然没有那么不堪,不过也是看的眼睛发直,漂亮妹子太多了!
各种各样的美女,御姐型的、可爱型的,看的眼花缭乱,隔离宗真是名不虚传啊!
在隔离宗中间还有个大台子,上面挂着一个横幅,写着第37届选美大赛。
怪不得这么多美女啊,原来是选美啊!
这时,台子上,上去一个丰满的美女,说道:“欢迎大家莅临37届隔离宗选美大赛,选美大赛即将开始了,那么今年的选美标准跟往年有些不同,在这里我跟大家再次说明一下!”
“往年,我们的选美标准是相貌、身材和气质,三个标准权重并列,但是由于近年来整容风盛行,让人们对于外貌已经有点审美疲劳了,大家有时候更喜欢气质型美女,外貌和身材反而不那么看重了。所以今年我们的标准权重改一改,外貌和身材权重占比50%,气质单独占比50%!”说道这里,示意工作人员比赛可以开始了。
这时,胖子在旁边叹道,不愧是隔离宗,时时刻刻都遵循着接口隔离原则啊!
小语看着胖子,眨了眨眼,不知胖子何出此言。
胖子解释道,“你仔细想一下他们的选美标准,之前他们的美女标准是什么?”
“外貌、身材和气质啊!”小语答道。
“嗯,是的!之前的美女标准是只有符合这三点要求的才算是美女,但是现在呢?现在只要符合气质项,就可以称作是气质美女了!那么对于也许外貌和身材没那么好的气质美女来说,外貌和身材其实就是多余的评判标准了,所以现在的选美标准,气质占比50%!咱们用代码来描述一下!”
//旧的美女标准 必需实现三个方法的才算是美女
public interface Beauty {//外貌好void goodLooking();//身材好void niceFigure();//气质佳void greatTemperament();}
//妖妖是个标准的大美女
public class YaoYao implements Beauty{@Overridepublic void goodLooking() {System.out.println("外貌优秀");}@Overridepublic void niceFigure() {System.out.println("身材棒");}@Overridepublic void greatTemperament() {System.out.println("气质佳");}}
旧的评判标准必需符合外貌好、身材棒、气质佳的才算美女,放在以前是没有问题的,但是现在气质佳的就算美女了,那么馨馨是个气质型美女
//馨馨是个气质型美女
public class XinXin implements Beauty{//外貌好看 和身材棒 没有实现 因为馨馨可能够不上这两个的标准 那么根据接口隔离原则//不应该依赖不需要的接口 这两个接口就多余了 不符合接口隔离原则 @Overridepublic void goodLooking() {}@Overridepublic void niceFigure() {}@Overridepublic void greatTemperament() {System.out.println("气质佳");}}
根据新的标准,旧的接口不符合接口隔离原则,那么我们需要改良接口
//外貌身材好的美女
public interface GoodBodyBeauty {//外貌好void goodLooking();//身材好void niceFigure();}
//气质型美女
public interface GreatTemBeauty {//气质佳void greatTemperament();}
拆分为两个接口外貌身材好的美女接口,气质型美女接口,重新实现气质型美女馨馨
//馨馨是个气质型美女
public class XinXin implements GreatTemBeauty{@Overridepublic void greatTemperament() {System.out.println("气质佳");}}
妖妖这个最大的美女,可以这样实现
//妖妖是个标准的大美女
public class YaoYao implements GoodBodyBeauty,GreatTemBeauty{@Overridepublic void goodLooking() {System.out.println("外貌优秀");}@Overridepublic void niceFigure() {System.out.println("身材棒");}@Overridepublic void greatTemperament() {System.out.println("气质佳");}}
如果只是外貌好看的美女,那么只实现外貌身材好的接口即可。
接口隔离原则细化了接口,给了我们更大的灵活性。
这时,选美比赛第一轮已经出了结果,妖妖是第一,馨馨是第二…
答疑:单一职责跟接口隔离原则的联系和区别
单一职责 类应该只有一个引起它变化的原因,这里的原因是一系列高内聚的方法来实现的职责,
单一职责强调的是类和接口的职责单一,接口隔离强调的是接口和类的方法尽量少!
更多内容,欢迎同步关注作者公众号二维码!
程序员内功修炼手册 主要发布计算机基础、设计模式、计算机网络基础知识,同时重点关注大前端知识
Android、iOS、web前端、Flutter、React Native等,想学习大前端知识的速度来吧,一起学习、一起成长!
这篇关于设计模式之隔离宗的美女的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!