现在我有一个Java需求,要写一些判断规则,每个规则有自己的业务处理逻辑,当然也有相通的地方,比如都有规则代码等。我希望能提取出一个规则父类,新增规则只需要继承或者实现接口就行。请帮我写一个demo
时间: 2024-05-09 07:17:34 浏览: 14
当然可以,以下是一个简单的demo:
```
public abstract class Rule {
public abstract boolean matches(Object object); //判断规则是否符合条件
public abstract void execute(Object object); //处理业务逻辑
}
public class Rule1 extends Rule {
@Override
public boolean matches(Object object) {
//规则1的判断逻辑
}
@Override
public void execute(Object object) {
//规则1的业务处理逻辑
}
}
public class Rule2 extends Rule {
@Override
public boolean matches(Object object) {
//规则2的判断逻辑
}
@Override
public void execute(Object object) {
//规则2的业务处理逻辑
}
}
public class RuleProcessor {
private List<Rule> rules = new ArrayList<Rule>();
public void addRule(Rule rule) {
rules.add(rule); //添加规则
}
public void process(Object object) {
for (Rule rule : rules) {
if (rule.matches(object)) {
rule.execute(object); //执行符合条件的规则的业务逻辑
}
}
}
}
//使用示例
RuleProcessor ruleProcessor = new RuleProcessor();
ruleProcessor.addRule(new Rule1());
ruleProcessor.addRule(new Rule2());
ruleProcessor.process(someObject);
```
以上是一个简单的demo,你可以根据自己的需求进行修改和扩展。