美文网首页
设计模式七大原则 - 合成复用原则

设计模式七大原则 - 合成复用原则

作者: 夹板儿孩 | 来源:发表于2022-11-29 21:31 被阅读0次

合成复用原则

合成复用原则的基本要求是:尽量使用 对象 组合/聚合 , 而不是 继承关系

示例代码

public class Connection {
    public String getConn() {
        return "Mysql 数据连接";
    }
}

public class DataBase extends Connection{
    public void update() {
        String conn = super.getConn();
        System.out.println("获取" + conn +" 更新数据");
    }
}

public class Main {
    public static void main(String[] args) {
        DataBase mysql = new DataBase();
        mysql.update();
    }
}

像这种情况,我们在使用继承顺利的得到了 mysql 的数据库连接。也能正常的获得连接,并更新数据。但是如果我们想换成 Oracle 连接就完全没有办法

使用合成复用原则更改

public interface Connection {
    String getConn();
}

public class Mysql implements Connection{
    @Override
    public String getConn() {
        return "获得 Mysql 连接";
    }
}

public class Oracle implements Connection{
    @Override
    public String getConn() {
        return "获得 Oracle 连接";
    }
}

public class DataBase{
    public void update(Connection conn) {
        System.out.println("获取" + conn.getConn() +" 更新数据");
    }

    public void insert(Connection conn) {
        System.out.println("获取" + conn.getConn() +"插入数据");
    }
}

public class Main {
    public static void main(String[] args) {
        DataBase mysql = new DataBase();
        mysql.update(new Mysql());
        mysql.insert(new Oracle());
    }
}

这里我们使用了依赖倒转的方式来实现了这个功能,同时也满足了合成复用原则(不使用继承)

相关文章

  • 设计模式七大原则

    面向对象七大设计原则,以及使用到这些原则的设计模式 1.合成/聚合复用原则(CARP) (有些地方,不将其列入设计...

  • 【设计模式】合成复用原则

    以下内容来自《Java设计模式》 1 合成复用原则 合成复用原则又称为组合/聚合复用原则(Composition/...

  • 设计模式原则-合成/复用原则

    定义:在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的...

  • 设计模式03-结构型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式04-行为型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式01-软件设计七大原则

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式02-创建型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 手撸golang 架构设计原则 合成复用原则

    手撸golang 架构设计原则 合成复用原则 缘起 最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>该书以j...

  • 面向对象设计(OOD)原则

    SOLID 七大原则 单一职责原则 开闭原则 里氏代换原则 迪米特法则 接口隔离原则 合成复用原则 开闭原则是总纲...

  • 大话设计模式(8) --- 桥接模式|命令模式|职责链模式

    1. 桥接模式 1.1 合成/聚合复用原则 合成/聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承 聚合表示一...

网友评论

      本文标题:设计模式七大原则 - 合成复用原则

      本文链接:https://www.haomeiwen.com/subject/joicfdtx.html