社区
Java
帖子详情
接口为什么能够解耦
NLP自然语言处理
2011-07-31 10:36:16
接口为什么能够解耦
...全文
494
3
打赏
收藏
接口为什么能够解耦
接口为什么能够解耦
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiukongtiao
2011-07-31
打赏
举报
回复
这样就接
解除
了与任何具体存储设备的耦合!
xiukongtiao
2011-07-31
打赏
举报
回复
给你一个例子,希望对你有帮助
定义一个接口 磁盘
interface Disk(){
void save(File file);
}
U盘和硬盘都是磁盘,都实现这个接口
class UDisk implement Disk{
void save(File file);
}
class HardDisk implement Disk{
void save(File file);
}
一个需要用磁盘来存储的下载工具
class Download{
Disk disk;//用接口声明,我们不知道,也不用知道,我们未来会存到什么样的磁盘,我们不依赖于任何类型的磁盘,我们只依赖于这个接口
void download(File file){
disk.save(file);
}
void setDisk(Disk disk){
this.disk=disk;
}
public static void main(String[] args){
Download download = new Download();
设置存储目标为U盘
download.setDisk(new UDisk());
文件被存到了U盘
download.download(file);
设置存储目标为硬盘
download.setDisk(new HardDisk());
文件被存到了硬盘
download.download(file);
某天我们想把下载的文件保存到CD里边,我们只需要定义CDDisk类,实现Disk接口就可以不对download本身做任何修改,就可以方便的将文件下载到CD或其他介质里。我们的Download类不依赖于任何具体的类,这样就接触了与任何具体存储设备的耦合!
}
}
qybao
2011-07-31
打赏
举报
回复
因为方法的多态,所以接口的调用者只需要调用接口,具体的业务交给接口的实现者去实现
即使用接口,可以避免接口调用方直接参与业务逻辑实现,所以能避免接口调用与业务逻辑实现紧密关联,即解耦
接口
为什么可以
解耦
本文通过一个下载类实例,展示了如何使用
接口
实现代码的
解耦
,使得不同存储设备(如U盘、硬盘、CD)可以无缝替换,而无需修改核心下载逻辑,体现了良好的软件设计原则。
module
解耦
(一)基于
接口
的module
解耦
文章介绍了安卓开发中为什么要进行module
解耦
,以及常见的
解耦
方法,如基于
接口
、路由、APT和依赖注入,并提到了ARouter和Dagger2等框架在
解耦
中的应用。
[特殊字符] 为什么你的代码一改就崩?依赖倒转原则:用抽象
接口
解耦
的终极指南!
依赖倒转原则是面向对象设计重要原则,能解决模块间过度依赖问题。文章以数据报告生成器为例,展示无依赖倒转时代码的弊端,介绍通过抽象
接口
解耦
的方法,还对比了与其他概念的关系,阐述其降低耦合、提高扩展性等优点。
Java的SpringBoot项目中为什么要注入
接口
XxxService而不是具体的实现类XxxServiceImpl
本文探讨了在SpringBoot项目中为什么推荐注入
接口
而非其实现类。通过
接口
注入可以实现
解耦
、提升灵活性和可测试性,并遵循依赖倒置原则。
java:
接口
与实现类
本文深入探讨了Java
接口
与实现类的概念及其在MyBatis-Plus中的应用。首先介绍了
接口
作为方法定义规范的角色,以及实现类作为具体逻辑执行的重要性。接着,分析了在MyBatis-Plus框架中
接口
和实现类如何协同工作,以及它们如何帮助开发者快速实现通用的CRUD操作。文章还解释了为什么在开发中不直接使用
接口
,而是需要实现类,并且讨论了
接口
带来的
解耦
优势。最后,总结了
接口
和实现类在Spring项目中的作用,强调了它们对于分层清晰和依赖
解耦
的重要性。
Java
51,409
社区成员
86,085
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章