当前位置: 首页 > news >正文

网站建设 太原最新注册网址查询

网站建设 太原,最新注册网址查询,重庆手机网站推广价格,wordpress $post->id云风网 云风笔记 云风知识库 一、设计模式接口隔离原则定义 客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上。要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 接口…

云风网
云风笔记
云风知识库

一、设计模式接口隔离原则定义

客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上。要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想,但两者是不同的:

  1. 单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。
  2. 单一职责原则主要是约束类,它针对的是程序中的实现和细节;接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。

二 、原则作用

  1. 将臃肿庞大的接口分解为多个粒度小的接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
  2. 接口隔离提高了系统的内聚性,减少了对外交互,降低了系统的耦合性。
  3. 如果接口的粒度大小定义合理,能够保证系统的稳定性;但是,如果定义过小,则会造成接口数量过多,使设计复杂化;如果定义太大,灵活性降低,无法提供定制服务,给整体项目带来无法预料的风险。
  4. 使用多个专门的接口还能够体现对象的层次,因为可以通过接口的继承,实现对总接口的定义。
  5. 能减少项目工程中的代码冗余。过大的大接口里面通常放置许多不用的方法,当实现这个接口的时候,被迫设计冗余的代码。

三、原则实现实例

在具体应用接口隔离原则时,应该根据以下几个规则来衡量。

  1. 接口尽量小,但是要有限度。一个接口只服务于一个子模块或业务逻辑。
  2. 为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法。
  3. 了解环境,拒绝盲从。每个项目或产品都有选定的环境因素,环境不同,接口拆分的标准就不同深入了解业务逻辑。
  4. 提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。
1、新建main.java空白文件,cursor输入指令

在这里插入图片描述
在这里插入图片描述

2、自动生成代码以及文件
2.1、Main.java代码如下:
public class Main {public static void main(String[] args) {System.out.println("Testing Basic Music Player:");MusicPlayer basicPlayer = new BasicMusicPlayer();testMusicPlayer(basicPlayer);System.out.println("\nTesting Smart Music Player:");SmartMusicPlayer smartPlayer = new SmartMusicPlayer();testAdvancedMusicPlayer(smartPlayer);testVolumeControl(smartPlayer);}private static void testMusicPlayer(MusicPlayer player) {player.play();player.stop();}private static void testAdvancedMusicPlayer(AdvancedMusicPlayer player) {player.play();player.pause();player.next();player.previous();player.stop();}private static void testVolumeControl(VolumeControl player) {player.setVolume(50);}
}
2.2、BasicMusicPlayer .java代码如下:

BasicMusicPlayer 只实现了 MusicPlayer 接口,因为它只支持基本的播放和停止功能。

public class BasicMusicPlayer implements MusicPlayer {@Overridepublic void play() {System.out.println("Basic Music Player: Playing music");}@Overridepublic void stop() {System.out.println("Basic Music Player: Stopping music");}
}
2.3、SmartMusicPlayer.java代码如下:

SmartMusicPlayer 实现了 AdvancedMusicPlayer 和 VolumeControl 接口,因为它支持更多的功能。

public class SmartMusicPlayer implements AdvancedMusicPlayer, VolumeControl {@Overridepublic void play() {System.out.println("Smart Music Player: Playing music");}@Overridepublic void stop() {System.out.println("Smart Music Player: Stopping music");}@Overridepublic void pause() {System.out.println("Smart Music Player: Pausing music");}@Overridepublic void next() {System.out.println("Smart Music Player: Playing next track");}@Overridepublic void previous() {System.out.println("Smart Music Player: Playing previous track");}@Overridepublic void setVolume(int volume) {System.out.println("Smart Music Player: Setting volume to " + volume);}
}
2.4、AdvancedMusicPlayer .java代码如下:
public interface AdvancedMusicPlayer extends MusicPlayer {void pause();void next();void previous();
}
2.5、VolumeControl.java代码如下:
public interface VolumeControl {void setVolume(int volume);
}
3、运行主程序输出

客户端代码(Main 类)可以根据需要使用不同的接口,而不需要依赖于它们不使用的方法。

在这里插入图片描述

这种设计允许我们根据设备的实际功能来实现相应的接口,而不是强制所有设备实现所有功能。这就是接口隔离原则的核心思想:客户端不应该被迫依赖于它们不使用的方法。

您可以直接运行这个 Main 类来查看输出结果,这将给您一个直观的了解接口隔离原则如何在实际开发中应用。

http://www.yayakq.cn/news/43468/

相关文章:

  • 汨罗做网站价格公司注销网站备案
  • 网站改版不更换域名 .net怎么做301网站重定向商城建站模板
  • 在网上做翻译的网站网络服务器故障怎么解决
  • 模板网站和定网站做301跳转的好处
  • 河北网站建设模板珠海中小企业网站建设
  • 安徽做公司网站哪家好专业的餐饮网站建设
  • app拉新工作室seo优化策略
  • 阳江网站开发wordpress邮箱验证失败
  • 佛山网站排名优化广州网络帮助建站
  • c 网站开发视频优秀学校网站设计
  • 网站优化联系世界排名前十的服装设计学院
  • 个人网站免费建设网站开发简单的框架
  • 导购网站如何做淘宝客网站设计步骤大全
  • 做的好的网站营销微信公众号白酒包装设计网站
  • 吉林省建设安全协会网站网易企业邮箱登入
  • 学校网站建唐山网站推广
  • 中国做的很好的食品网站微软网站制作软件
  • 云南网站开发制作制作网站建设的
  • 地产网站设计青岛美容化妆品外贸网站建设
  • 网站你懂我意思正能量晚上不用下载做网站商业欺骗赔多少
  • 网站建设会员管理系统方案商务网站开发方式
  • 淘客做自己的网站网站建设基本功能
  • 西宁网站建设君博首选wordpress 获取page别名
  • 长沙专业做网站公司有哪些旅游网站开发的意义相关资料
  • wordpress免费资源网网站优化要怎么做
  • 沧州国外网站建设网站开发是啥了
  • 2017网站设计如何报价p2p网站方案
  • 简单的网站怎样做网页设计与制作教程第二版答案
  • 网站建设制作及推广小火箭服务器节点购买
  • 佛山网站建设 乐云践新专家网站开发有很多种吗