CRP原理的简单例子

CRP:英文全名Composite Reuse Principle,译为复合的复用原则。

可以解释为类应该通过复合的使用(包含实现所需功能的其他类的实例)实现多态行为和代码重用,而不是从基或父类继承。

代码示例:

class Employee {
    BonusCalculator bc;
    ...
}

interface BonusCalculator {
    Money computeBonus();
}

class Manager extends Employee {
    Money computeBonus() {
    bc = new ManagerBonusCalculator();
    return bc.computeBonus();
    }
}

class ManagerBonusCalculator implements BonusCalculator {
    Money computeBonus {... // special computation}
}
策略模式就是根据这个原则写的。

你可能感兴趣的:(java)