合成复用原则 (Composite/Aggregate Reuse Principle, CARP) : 尽量使用对象组合/聚合,而不是继承关系
- 降低类与类值啊金的欧核对
- 使得系统更加灵活,一个类的更改对其他类造成的影响变小
很典型合成复用
创建一个数据库连接类
public class DBConnection {
public String getConnection() {
return "MySql 数据库连接";
}
}
连接的数据库的demo
public class DemoDao {
private DBConnection dbConnection;
public void setDbConnection(DBConnection dbConnection) {
this.dbConnection = dbConnection;
}
public void addDemo() {
String conn = dbConnection.getConnection();
System.out.println("使用" + conn + "增加demo");
}
}
使用合成复用,而不是继承,现在增加对oracle数据库的支持,如果是继承 “mysql数据库连接”,则不能做到通用,灵活性大幅降低