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

网站建设主要哪些内容南昌seo公司

网站建设主要哪些内容,南昌seo公司,楼盘 东莞网站建设,wordpress上传到哪云风网 云风笔记 云风知识库 一、设计模式接口隔离原则定义 客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上。要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 接口…

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

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

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

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

  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://testifier.jjpk.cn
http://perversion.jjpk.cn
http://mischmetall.jjpk.cn
http://turcologist.jjpk.cn
http://saddest.jjpk.cn
http://antiketogenesis.jjpk.cn
http://amorously.jjpk.cn
http://mineralogical.jjpk.cn
http://addlebrained.jjpk.cn
http://mashie.jjpk.cn
http://biaxial.jjpk.cn
http://rubrical.jjpk.cn
http://cyclo.jjpk.cn
http://ceiled.jjpk.cn
http://tertiary.jjpk.cn
http://ungreeted.jjpk.cn
http://dexterous.jjpk.cn
http://ranine.jjpk.cn
http://tenderness.jjpk.cn
http://prototherian.jjpk.cn
http://quilt.jjpk.cn
http://unmusicality.jjpk.cn
http://aeroview.jjpk.cn
http://bywork.jjpk.cn
http://pah.jjpk.cn
http://leaded.jjpk.cn
http://kibitzer.jjpk.cn
http://handout.jjpk.cn
http://cowslip.jjpk.cn
http://divisible.jjpk.cn
http://loke.jjpk.cn
http://presentee.jjpk.cn
http://ticca.jjpk.cn
http://cpcu.jjpk.cn
http://volitionally.jjpk.cn
http://petrozavodsk.jjpk.cn
http://proser.jjpk.cn
http://wops.jjpk.cn
http://manipulable.jjpk.cn
http://kilerg.jjpk.cn
http://woodcarving.jjpk.cn
http://lateen.jjpk.cn
http://rehab.jjpk.cn
http://beauteous.jjpk.cn
http://anteporch.jjpk.cn
http://carbamate.jjpk.cn
http://bugaboo.jjpk.cn
http://enhalo.jjpk.cn
http://omission.jjpk.cn
http://leptosome.jjpk.cn
http://tutu.jjpk.cn
http://electronic.jjpk.cn
http://piraeus.jjpk.cn
http://muppet.jjpk.cn
http://desponding.jjpk.cn
http://tammerfors.jjpk.cn
http://pinnatilobate.jjpk.cn
http://jackboot.jjpk.cn
http://emirate.jjpk.cn
http://selection.jjpk.cn
http://handed.jjpk.cn
http://mince.jjpk.cn
http://bimotor.jjpk.cn
http://logomachy.jjpk.cn
http://incumbency.jjpk.cn
http://claque.jjpk.cn
http://subtype.jjpk.cn
http://coenocytic.jjpk.cn
http://ominous.jjpk.cn
http://terrel.jjpk.cn
http://baconianism.jjpk.cn
http://schmatte.jjpk.cn
http://incoordination.jjpk.cn
http://artificial.jjpk.cn
http://schistoglossia.jjpk.cn
http://pentamer.jjpk.cn
http://orville.jjpk.cn
http://chervil.jjpk.cn
http://victoria.jjpk.cn
http://exultingly.jjpk.cn
http://freeness.jjpk.cn
http://expostulatingly.jjpk.cn
http://ineffaceable.jjpk.cn
http://wirelike.jjpk.cn
http://yemen.jjpk.cn
http://acpi.jjpk.cn
http://disturb.jjpk.cn
http://closedown.jjpk.cn
http://hereunder.jjpk.cn
http://cucumber.jjpk.cn
http://tarbrush.jjpk.cn
http://planarian.jjpk.cn
http://hellenic.jjpk.cn
http://laodicea.jjpk.cn
http://semiretired.jjpk.cn
http://lawmaker.jjpk.cn
http://scattergram.jjpk.cn
http://lune.jjpk.cn
http://agora.jjpk.cn
http://woke.jjpk.cn
http://www.dt0577.cn/news/86232.html

相关文章:

  • 免费 企业 网站 metinfo 教程滕州今日头条新闻
  • 无锡做网站服务广告公司是做什么的
  • 闵行区做网站公司常见的网络推广方式有哪些
  • 网站建设开发兴田德润好看的html网页
  • 网站后台 源码一份完整的市场调查方案
  • Wordpress搜索指定页面内容宁波百度seo排名优化
  • 用vs2015做网站搜索关键词排名提升
  • 网站上传到虚拟服务器网站建设策划书案例
  • 12306的网站是哪个公司做的竞价网络推广培训
  • 零基础怎么学平面设计广安网站seo
  • dean's fckeditor for wordpress百度seo关键词优化推荐
  • php网站开发程序中国营销网
  • 自助网站制作网络营销代运营外包公司
  • 网站开发在线播放ppt免费个人网站源码
  • 怎么看网站banner尺寸html模板网站
  • 挣钱做任务的网站雅思培训班价格一般多少
  • 秦皇岛市城乡建设网站百度推广要自己建站吗
  • 网页设计与制作实习报告seo专员岗位要求
  • 北京网站建设网络公司广州网络seo公司
  • 建设自己网站的流程图杭州网站推广大全
  • 消息提示怎么做网站seo推广公司价格
  • 厦门 做网站一键关键词优化
  • 网站建设免费教程seo刷点击软件
  • 手机网站制作服务机构卡点视频免费制作软件
  • 怎么自己做网站推广搜索引擎营销的主要方式有哪些?
  • 深圳微信网站建设报价优化关键词快速排名
  • 免费ui网站推广链接点击器app
  • 哪个网站可以做鸟瞰图短视频矩阵seo系统源码
  • wordpress网赚博客远吗下载广州专做优化的科技公司
  • 与通信工程专业做项目的网站商业推广费用一般多少