ITPub博客

首页 > 应用开发 > IT综合 > 相亲交友源码的架构设计,实现合成复用原则需要如何做?

相亲交友源码的架构设计,实现合成复用原则需要如何做?

IT综合 作者:云豹科技程序员 时间:2021-10-25 16:23:49 0 删除 编辑

合成复用原则是指尽量使用对象组合/聚合而不是继承关系达到相亲交友源码复用的目的。可以使相亲交友源码系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。

继承叫作白箱复用,相当于把所有的实现细节暴露给子类。组合/聚合称为黑箱复用,我们是无法获取到类以外的对象的实现细节的。虽然我们要根据具体的业务场景来做相亲交友源码设计,但也需要遵循 OOP 模型。以数据库操作为例,先来创建 DBConnection 类:

public class DBConnection {
    public String getConnection(){
        return "MySQL数据库连接";
    }
}

创建 ProductDao 类:

public class ProductDao{
    private DBConnection dbConnection;
    public void setDbConnection(DBConnection dbConnection) {
        this.dbConnection = dbConnection;
    }
    public void addProduct(){
        String conn = dbConnection.getConnection();
        System.out.println("使用"+conn+"增加产品");
    }
}

这就是一种非常典型的合成复用原则的应用场景。但是,就目前的相亲交友源码设计来说,DBConnection 还不是一种抽象,不便于相亲交友源码系统扩展。目前的系统支持 MySQL 数据库连接,假设业务发生变化,数据库操作层要支持 Oracle 数据库。
当然,我们可以在 DBConnection 中增加对 Oracle 数据库的支持,但是这违背了开闭原则。其实,我们可以不修改 Dao 的代码,而将 DBConnection 修改为“abstract”的,来看代码:

public abstract class DBConnection {
    public abstract String getConnection();
}

然后将 MySQL 的逻辑抽离:

public class MySQLConnection extends DBConnection {
    @Override
    public String getConnection() {
        return "MySQL数据库连接";
    }
}

再创建 Oracle 支持:

public class OracleConnection extends DBConnection {
    @Override
    public String getConnection() {
        return "Oracle数据库连接";
    }
}

具体选择交给相亲交友源码应用层,来看一下类图,如下图所示。

在这里插入图片描述
以上便是“相亲交友源码的架构设计,合成复用原则的实现”的全部内容,希望对大家开发相亲交友源码有帮助。

本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理
原文链接:


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69996194/viewspace-2839137/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-03-10

  • 博文量
    275
  • 访问量
    78369