漏桶算法通过 限制容量池大小 来控制流量,而 令牌桶算法 则通过 限制发放令牌的速率 来控制流量
public interface IDecorator {
void decorate();
}
public class Decorator implements IDecorator {
@Override
public void decorate() {
System.out.println("Decorator");
}
}
@AllArgsConstructor
public class BaseDecorator implements IDecorator {
private IDecorator decorator;
@Override
public void decorate() {
if (decorator != null) {
decorator.decorate();
}
}
}
public class ADecorator extends BaseDecorator {
public ADecorator(IDecorator decorator) {
super(decorator);
}
@Override
public void decorate() {
System.out.println("ADecorator");
super.decorate();
}
}
public class BDecorator extends BaseDecorator {
public BDecorator(IDecorator decorator) {
super(decorator);
}
@Override
public void decorate() {
System.out.println("BDecorator");
super.decorate();
}
public static void main(String[] args) {
new BDecorator(new ADecorator(new Decorator())).decorate();
// BDecorator
// ADecorator
// Decorator
}
}