零耦合?抽象耦合?具体耦合?

简介: 零耦合?抽象耦合?具体耦合?

零耦合是指两个或多个组件之间没有任何依赖关系,彼此独立,不会因为一个组件的变化而影响其他组件,零耦合是一种理想状态,但在实际开发中很难达到,因为不同的模块通常需要通过某种方式进行交互和合作。


抽象耦合是指组件之间的依赖关系是通过抽象的接口或协议来实现的,组件之间只关注对接口的依赖,而不关心具体的实现。抽象耦合可以实现松耦合,使得组件更加灵活、可扩展和易于维护。

package com.wjr;
interface MessageSender{
    void sendMessage(String message);
}
class EmailSender implements MessageSender{
    @Override
    public void sendMessage(String message) {
         System.out.println("发送邮件----"+message);
    }
}
 class MessageService{
    private MessageSender messageSender ;
    public MessageService(MessageSender messageSender){
        this.messageSender=messageSender;
    }
    public void sendMessage(String message){
        messageSender.sendMessage(message);
    }
}
public class abstractCoupling{
    public static void main(String[] args) {
        MessageSender sender=new EmailSender();
        MessageService service=new MessageService(sender);
        service.sendMessage("hello,抽象耦合");
    }
}

输出:

发送邮件----hello,抽象耦合

具体耦合是指组件之间的依赖关系是通过具体的类、对象或接口来实现的

package com.wjr;
class MessageService {
    public void sendMessage(String message) {
       System.out.println("发送邮件---"+message);
    }
}
 class Main {
    public static void main(String[] args) {
        MessageService service = new MessageService();
        service.sendMessage("Hello, 具体耦合!");
    }
}

输出如下所示:

发送邮件---Hello, 具体耦合!
相关文章
|
6月前
|
JSON 数据库 数据格式
|
2月前
|
Java API
关于“解耦”的思考
关于“解耦”的思考
13 0
|
2月前
抽象
如何使用抽象类和抽象方法: 1.不能直接创建new抽象类对象。 2.必须用一个子类来继承抽象父类 3.子类必须覆盖重写抽象父类当中所有的抽象方法 4.创建子类对象进行使用 关于抽象类: 1.抽象类不能创建对象,只能创建器非抽象的子类对象 2.抽象类中,可以有构造方法,是子类创建对象时,初始化父类成员用的。 3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类 4.抽象类的子类,必须重新抽象父类中的所有抽象方法
45 4
|
3月前
软件设计原则:耦合与内聚
软件设计原则:耦合与内聚
56 0
|
9月前
没有抽象就没有封装继承多态
没有抽象就没有封装继承多态
|
9月前
为什么没有抽象,就没有封装继承多态
为什么没有抽象,就没有封装继承多态
40 0
|
5月前
|
敏捷开发 Java
如何降低类之间的耦合
如何降低类之间的耦合
38 0
|
9月前
|
存储 安全 程序员
软件工程的耦合和内聚
软件工程的耦合和内聚
182 0
|
10月前
|
编译器